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
python字符串编码识别模块chardet简单应用
Jun 15 Python
基于Django用户认证系统详解
Feb 21 Python
python爬虫基本知识
Mar 05 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
python如何使用jt400.jar包代码实例
Dec 20 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
python正则表达式re.match()匹配多个字符方法的实现
Jan 27 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
linux php mysql数据库备份实现代码
2009/03/10 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
Flask之flask-session的具体使用
2018/07/26 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
python写一个随机点名软件的实例
2019/11/28 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Django中FilePathField字段的用法
2020/05/21 Python
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
华为c/c++笔试题
2016/01/25 面试题
企业门卫岗位职责
2013/12/12 职场文书
大学生村官任职感言
2014/01/09 职场文书
毕业生自荐书
2014/02/02 职场文书
《荷花》教学反思
2014/04/16 职场文书
新农村建设汇报材料
2014/08/15 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书