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通过websocket与js客户端通信示例分析
Jun 25 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
Python机器学习之决策树算法
Dec 22 Python
Python断言assert的用法代码解析
Feb 03 Python
Python实现的自定义多线程多进程类示例
Mar 23 Python
详解numpy.meshgrid()方法使用
Aug 01 Python
python django生成迁移文件的实例
Aug 31 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
Python爬虫教程知识点总结
Oct 19 Python
深入探讨opencv图像矫正算法实战
May 21 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/12/05 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
VBScript版代码高亮
2006/06/26 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
2014/11/02 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
vue+element模态框中新增模态框和删除功能
2019/06/11 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
python连接oracle数据库实例
2014/10/17 Python
python绘制直线的方法
2018/06/30 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
小学三好学生事迹材料
2014/08/15 职场文书
实习协议书范本
2014/09/25 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
优秀党员推荐材料
2014/12/18 职场文书
奖金申请报告模板
2015/05/15 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python