Python实现MySQL操作的方法小结【安装,连接,增删改查等】


Posted in Python onJuly 12, 2017

本文实例讲述了Python实现MySQL操作的方法。分享给大家供大家参考,具体如下:

1. 安装MySQLdb.从网站下载Mysql for python 的package 注意有32位和64位之分.

2. 安装完成之后从Python IDLE 导入MySQLdb

>>>import MySQLdb

3. 新建一个数据库连接:

>>>conn =MySQLdb.connect(host = '127.0.0.1',user= 'root',passwd='123456',db='test',port=3306,charset='utf8')
>>>

注意:其中的hsot 参数的值也可写为host = "localhost", passwd 切勿写成了password, port 参数需要int类型,上面的3306不要加引号. charset要和数据库的字符集相同.

4. 创建游标:

>>>cur = conn.cursor()
>>>

5. 执行插入单条数据命令

>>>cur.execute("insert into msg (title,name,content) values ('python','zz','test mysql insert')")
1L #返回受影响的记录条数.
>>>conn.commit() #需要提交事务插入才会生效.
>>>

6. 利用参数插入多条数据命令

>>>sql = "insert into msg (title,name,content) values (%s,%s,%s)" #定义一个sql语句
>>>cur.executemany(sql,[('title01','name01','content01'),('title02','name02','content02')])
2L
>>>conn.commit()
>>>

7. 利用 for 循环拼接sql命令插入多条数据

>>>sql = "insert into msg (title,name,content) values"
>>>for i in range (100):
  >>> sql += "('id" + str(i) + "'," + "'name" + str(i) + "'," + "'content" + str(i) + "'),"
>>>sql = sql[:-1] #利用切片将最后的"," 删除.
>>>cur.execute(sql)
103L
>>>conn.commit()
>>>

8. 执行删除命令

>>>cur.execute("delete from msg where title = 'title02' ")
1L
>>>conn.commit()
>>>

9. 执行更改命令

>>>cur.execute("update msg set title='changedTitle' where title='title01'")
1L
>>>conn.commit()
>>>

10. 执行查询命令

>>>cur.execute("select * from msg")
3L #返回记录条数
>>>

python的查询语句并不会返回数据库中存取的实际值, 仅返回获得的记录条数, 那么想要获得数据库中的值该怎么做呢?

我们需要用到游标的fetch.

11. 利用fetchone()获得一条记录.该条记录是当前游标所在行的下一行数据.

>>>cur.fetchone()
(1L, 'title01', 'name01', 'content01')

12. 利用fetchmany(size=num) 获取多条记录.

>>>cur.fetchmany(size=5)
((2L, 'python', 'ChenYL', 'insert content'), (3L, 'py03', 'name03', 'content03'), (4L, 'py04', 'name04', 'content04'), (5L, 'id0', 'name0', 'content0'), (7L, 'id2', 'name2', 'content2'))
>>>

Note: 此处若查询数据多于size参数则获取和size参数相同的记录条数, 若查询数据记录少于size参数的值,则只显示查询到的数据记录条数.

13. 利用fetchall()获取从游标位置下一行开始直到查询记录结束的全部记录.

>>>cur.fetchall()
105L
>>>

14. 利用scroll()移动游标

>>>cur.scroll(1,mode="absolute")
>>>

Note: 当mode为absolute时游标走到表中的第一个参数行(若第一个参数为1,则走到表中第一行),次数用fetchone()会取到第二行.

当mode为relative是,此时游标会往下走一行, 假如游标在第三行, scroll之后会走到第四行.

15. 数据库使用完之后记得关闭游标. 关闭数据库连接.

>>>cur.close()
>>>conn.close

注: 上述实例执行结果返回的记录条数和结果与数据库中记录相关.

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
发布你的Python模块详解
Sep 15 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
Python 高级专用类方法的实例详解
Sep 11 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
Python3.5文件修改操作实例分析
May 01 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
python实现猜数游戏(保存游戏记录)
Jun 22 Python
Python通过类的组合模拟街道红绿灯
Sep 16 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
python实现图片批量压缩
Apr 24 Python
Python实现统计代码行的方法分析
Jul 12 #Python
Python实现导出数据生成excel报表的方法示例
Jul 12 #Python
python 数据的清理行为实例详解
Jul 12 #Python
python的pdb调试命令的命令整理及实例
Jul 12 #Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 #Python
python 中split 和 strip的实例详解
Jul 12 #Python
Python实现简单的获取图片爬虫功能示例
Jul 12 #Python
You might like
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
JS的反射问题
2010/04/07 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
外语学院毕业生的自我鉴定
2013/11/28 职场文书
司机辞职报告范文
2014/01/20 职场文书
课外科技活动总结
2014/08/27 职场文书