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 22 Python
Python3处理文件中每个词的方法
May 22 Python
Python实现LRU算法的2种方法
Jun 24 Python
python实现解数独程序代码
Apr 12 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
Python实现全排列的打印
Aug 18 Python
python使用Matplotlib绘制分段函数
Sep 25 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
实例讲解Python 迭代器与生成器
Jul 08 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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中的正规表达式(一)
2006/10/09 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
jQuery实现高亮显示的方法
2015/03/10 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
python实现log日志的示例代码
2018/04/28 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
Python文件操作基础流程解析
2020/03/19 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
自我鉴定范文200字
2013/10/02 职场文书
暑期社会实践学生的自我评价
2014/01/09 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
小区停车场管理制度
2014/01/27 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
典型事迹材料范文
2014/12/29 职场文书
二胎满月酒致辞
2015/07/29 职场文书
导游词之南京中山陵
2019/11/27 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android