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爬取网站数据保存使用的方法
Nov 20 Python
python3+PyQt5实现文档打印功能
Apr 24 Python
详解Python中的四种队列
May 21 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
YUV转为jpg图像的实现
Dec 09 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 Python
Python改变对象的字符串显示的方法
Aug 01 Python
Python Selenium库的基本使用教程
Jan 04 Python
Python编程源码报错解决方法总结经验分享
Oct 05 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 常用函数库和一些实用小技巧
2009/01/01 PHP
php 购物车的例子
2009/05/04 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
详解Typescript里的This的使用方法
2021/01/08 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
Python单例模式的两种实现方法
2017/08/14 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
Python运行DLL文件的方法
2020/01/17 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
工程地质勘察专业大学生求职信
2013/10/13 职场文书
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
植树造林的宣传标语
2014/06/23 职场文书
见义勇为事迹材料
2014/12/24 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js