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 域名分析工具实现代码
Jul 15 Python
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
进一步理解Python中的函数编程
Apr 13 Python
python并发2之使用asyncio处理并发
Dec 21 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
关于pytorch处理类别不平衡的问题
Dec 31 Python
Python单元测试模块doctest的具体使用
Feb 10 Python
解决pytorch-yolov3 train 报错的问题
Feb 18 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
基于Python实现将列表数据生成折线图
Mar 23 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
如何给phpadmin一个保护
2006/10/09 PHP
多文件上传的例子
2006/10/09 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP递归调用的小技巧讲解
2013/02/19 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP strripos函数用法总结
2019/02/11 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
使用Python进行QQ批量登录的实例代码
2018/06/11 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
机械设计制造专业个人求职信
2013/09/25 职场文书
新学期家长寄语
2014/01/19 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
同学会感言
2015/07/30 职场文书
2016寒假假期总结
2015/10/10 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android