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数据结构之二叉树的建立实例
Apr 29 Python
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
Django框架中的对象列表视图使用示例
Jul 21 Python
Python读取网页内容的方法
Jul 30 Python
OpenCV实现人脸识别
Apr 07 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
Python3.5运算符操作实例详解
Apr 25 Python
Python基础教程之输入输出和运算符
Jul 26 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 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
php str_pad 函数使用详解
2009/01/13 PHP
一些常用的JS功能函数代码
2009/06/23 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
python中threading超线程用法实例分析
2015/05/16 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python定时任务工具之APScheduler使用方式
2019/07/24 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
网络安全方面的面试题
2016/01/07 面试题
师范毕业生个人求职信
2013/12/09 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
领导证婚人证婚词
2014/01/13 职场文书
校运会广播稿100字
2014/01/27 职场文书
经典广告词大全
2014/03/14 职场文书
医院信息公开实施方案
2014/05/09 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
中秋节主题班会
2015/08/14 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
使用scrapy实现增量式爬取方式
2022/06/21 Python