Python对数据库操作


Posted in Python onMarch 28, 2016

Windows下安装MySQL-python

下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。

linux下安装MySQL-python以连接MySQL:

下载地址:https://pypi.python.org/pypi/MySQL-python/

解压后,进入目录下,执行python setup.py install

安装过程中,常会遇到的问题:

1、 提示找不到mysql_config的话,一般是由于mysql采用的是lnmp一键安装包安装的,路径

解决:locate mysql_config找到mysql_config这个文件的位置,然后ln -s做个软连接到/usr/bin/下。

2、 Ubuntu下提示缺少'x86_64-linux-gnu-gcc'时,需要安装python-dev包:

解决:sudo apt-get install python-dev -y

3、 CentOS下提示command 'gcc' failed with exit status 1

解决:yum install gcc python-devel -y

安装完成后,进入python,执行import MySQLdb看导入是否能成功。

补充:

我在ubuntu下操作时候,发现无法连接数据库,ss -lnt发现mysql只监听在回环地址上的3306端口,需要修改下。
修改Ubuntu的mysql,将其监听端口127.0.0.1:3306改为允许外部连接的方法:
编辑/etc/mysql/my.cnf(可能配置参数再此目录下的其它文件中,仔细找找)
修改bind-address = 0.0.0.0 表示允许任意IP访问。
然后执行 /etc/init.d/mysql restart重启mysqlserver服务即可

# 下面是一个Python操作数据库的例子:

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
# 操作数据库首先需要创建游标
cur = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句,如下:
# 创建数据表
# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")
# 插入数据
# cur.execute("insert into teacher values(23,'zhangsan','science',15)")
# 修改数据
# cur.execute("update teacher set id=100 where name='zhangsan'")
# 删除数据
# cur.execute("delete from teacher where id=100")
#插入一条数据【也可以用像下面这种写法】
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.execute(sqli, (23,'zhangsan','science',15))
# 使用executemany一次性向数据表中插入多条值,返回值为受影响的行数。
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.executemany(sqli,[
(11,'wangwu','art',23),
(8,'john','math',22),
(3,'Tom','physical',25),
])
# 最后关闭游标,执行提交操作,并关闭数据库连接
cur.close()
conn.commit()
conn.close()

检索并输出数据

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
cur = conn.cursor()
# 获得表中有多少条数据
aa = cur.execute("select * from teacher")
cur.fetchone() # fetchone()方法可以帮我们获得表中的数据,但是每执行一次输出一行满足条件的值
cur.fetchone()
......
cur.scroll(0,'absolute')# 这样能将游标定位到表中的第一条数据
info = cur.fetchmany(aa)
for i in info:
print i
cur.close()
conn.commit()
conn.close()

有关Python对数据库操作小编就给大家介绍这么多,希望对大家有所帮助!

Python 相关文章推荐
python使用PyCharm进行远程开发和调试
Nov 02 Python
Python 实现删除某路径下文件及文件夹的实例讲解
Apr 24 Python
python flask实现分页的示例代码
Aug 02 Python
windows下python安装小白入门教程
Sep 18 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
Python3 log10()函数简单用法
Feb 19 Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 Python
pytorch 数据处理:定义自己的数据集合实例
Dec 31 Python
Python中断多重循环的几种方式详解
Feb 10 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
django自带的权限管理Permission用法说明
May 13 Python
python如何删除文件、目录
Jun 23 Python
Python字符串切片操作知识详解
Mar 28 #Python
python Django框架实现自定义表单提交
Mar 25 #Python
python Django批量导入数据
Mar 25 #Python
python Django批量导入不重复数据
Mar 25 #Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 #Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 #Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 #Python
You might like
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
PHP生成树的方法
2015/07/28 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
javascript document.execCommand() 常用解析
2009/12/14 Javascript
JS高级笔记
2011/07/13 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
python文件写入实例分析
2015/04/08 Python
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
电大物流学生的自我评价
2013/10/25 职场文书
大学生学业生涯规划
2014/01/05 职场文书
上班看电影检讨书
2014/02/12 职场文书
个人承诺书格式
2014/06/03 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
幼儿园开学通知
2015/04/24 职场文书
人生遥控器观后感
2015/06/11 职场文书
创业计划书详解
2019/07/19 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python