Python 中使用 PyMySQL模块操作数据库的方法


Posted in Python onNovember 10, 2019

之前用的Python2,连接MySQL用的是MySQLdb。现在换成python3.x了,由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 PyMySQL模块,以下将介绍PyMySQL的安装及常用操作。

一、安装

pip install PyMySQL

二、常用操作

查询数据

import pymysql
# 连接数据库
conn = pymysql.connect(
  host='127.0.0.1',
  user='root',
  passwd='root',
  port=3306,
  db='test',
  charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 查询数据
sql = "select * from user"
cursor.execute(sql) # 执行sql
# 查询所有数据,返回结果默认以元组形式,所以可以进行迭代处理
for i in cursor.fetchall():
  print(i)
print('共查询到:', cursor.rowcount, '条数据。')
# 获取第一行数据
result_1 = cursor.fetchone()
print(result_1)
# 获取前n行数据
result_3 = cursor.fetchmany(3)
print(result_3)
cursor.close() # 关闭游标
conn.close() # 关闭连接

插入数据

执行完插入语句后一定要执行.commit()进行提交事务,可以插入多条后统一提交,否则操作无效

import pymysql
# 连接数据库
conn = pymysql.connect(
  host='127.0.0.1',
  user='root',
  passwd='root',
  port=3306,
  db='test',
  charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 插入数据
# 数据直接写在sql后面
sql = "insert into username(id,name) values(%s, %s)" # 注意是%s,不是s%
cursor.execute(sql, [3, '王五']) # 列表格式数据
cursor.execute(sql, (4, '马六')) # 元组格式数据
# 数据单独赋给一个对象
sql = "insert into username values(%s,%s)"
data = (5, '老七')
cursor.execute(sql, data) #sql和data之间以","隔开
sql = "insert into username values(%s,'%s')"
data = (6, '小八')
cursor.execute(sql % data) #sql和data之间以"%"隔开,此时它的sql中注意要给中文字符对应的占位符加上引号,即"%s",不然会报错:unsupported format character
conn.commit()  # 提交,不然无法保存插入或者修改的数据(这个一定不要忘记加上)
cursor.close() # 关闭游标
conn.close() # 关闭连接

修改数据

执行完修改语句后一定要执行.commit()进行提交事务,可以修改多条后统一提交,否则操作无效

import pymysql
# 连接数据库
conn = pymysql.connect(
  host='127.0.0.1',
  user='root',
  passwd='root',
  port=3306,
  db='test',
  charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 修改数据
sql = "update username set name='%s' where id=%s" #注意%s什么时候加引号,什么时候不加
data = ('改名了', 1)
cursor.execute(sql % data)
sql = "update username set name=%s where id=%s"
data = ('也改名了', 2)
cursor.execute(sql, data)
conn.commit()  # 提交,不然无法保存插入或者修改的数据
cursor.close() # 关闭游标
conn.close() # 关闭连接

删除数据

执行完删除语句后一定要执行.commit()进行提交事务,可以删除多条后统一提交,否则操作无效

import pymysql
# 连接数据库
conn = pymysql.connect(
  host='127.0.0.1',
  user='root',
  passwd='root',
  port=3306,
  db='test',
  charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 删除数据
sql = "delete from username where id=%s"
data = (2)
cursor.execute(sql, data)
conn.commit()  # 提交,不然删除操作不生效
cursor.close() # 关闭游标
conn.close() # 关闭连接

总结

以上所述是小编给大家介绍的Python 中使用 PyMySQL操作数据库的方法,希望对大家有所帮助!

Python 相关文章推荐
布同自制Python函数帮助查询小工具
Mar 13 Python
Python模块学习 filecmp 文件比较
Aug 27 Python
Python中type的构造函数参数含义说明
Jun 21 Python
Python数据类型学习笔记
Jan 13 Python
python扫描proxy并获取可用代理ip的实例
Aug 07 Python
python 动态加载的实现方法
Dec 22 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
python抓取需要扫微信登陆页面
Apr 29 Python
python实现简单日志记录库glog的使用
Dec 13 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
Python 中@property的用法详解
Jan 15 Python
Python Matplotlib绘制动画的代码详解
May 30 Python
分享PyCharm的几个使用技巧
Nov 10 #Python
Python单元测试与测试用例简析
Nov 09 #Python
python自动化测试之异常及日志操作实例分析
Nov 09 #Python
Python多线程模块Threading用法示例小结
Nov 09 #Python
Python for循环及基础用法详解
Nov 08 #Python
python常用排序算法的实现代码
Nov 08 #Python
python分布式编程实现过程解析
Nov 08 #Python
You might like
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
php多任务程序实例解析
2014/07/19 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
详解Vue组件插槽的使用以及调用组件内的方法
2018/11/13 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
对python模块中多个类的用法详解
2019/01/10 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
python能开发游戏吗
2020/06/11 Python
python 解决函数返回return的问题
2020/12/05 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
单位介绍信范文
2014/01/18 职场文书
公司年底活动方案
2014/08/17 职场文书
2014应届本科生自我评价
2014/09/13 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
Golang表示枚举类型的详细讲解
2021/09/04 Golang
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python