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 26 Python
python之wxPython应用实例
Sep 28 Python
在Python的Flask框架下收发电子邮件的教程
Apr 21 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
python创建学生管理系统
Nov 22 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
python链表类中获取元素实例方法
Feb 23 Python
Python必备技巧之函数的使用详解
Apr 04 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
一个ftp类(ini.php)
2006/10/09 PHP
php通用防注入程序 推荐
2011/02/26 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
任意位置显示html菜单
2007/02/01 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
Python实现图像几何变换
2015/07/06 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
python操作redis数据库的三种方法
2020/09/10 Python
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
财务与信息服务专业推荐信
2013/11/28 职场文书
大学校运会广播稿
2014/02/03 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
民政局未婚证明
2015/06/15 职场文书
干部考核工作总结2015
2015/07/24 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸
全网非常详细的pytest配置文件
2022/07/15 Python