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采用getopt解析命令行输入参数实例
Sep 30 Python
Python3指定路径寻找符合匹配模式文件
May 22 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
50行Python代码实现人脸检测功能
Jan 23 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
python 实现调用子文件下的模块方法
Dec 07 Python
浅谈pyqt5中信号与槽的认识
Feb 17 Python
python中append实例用法总结
Jul 30 Python
python实现的读取网页并分词功能示例
Oct 29 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
理解python中装饰器的作用
Jul 21 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
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
前端必学之PHP语法基础
2016/01/01 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
Angular路由简单学习
2016/12/26 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python os用法总结
2018/06/08 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python的debug实用工具 pdb详解
2019/07/12 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
在keras里实现自定义上采样层
2020/06/28 Python
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
RealTek面试题
2016/06/28 面试题
初中数学教学反思
2014/01/16 职场文书
初中家长评语和期望
2014/12/26 职场文书
期中考试复习计划
2015/01/19 职场文书
责任书格式
2015/01/29 职场文书
考勤制度通知
2015/04/25 职场文书
2016简单的租房合同范本
2016/03/18 职场文书