pymysql模块使用简介与示例


Posted in Python onNovember 17, 2020

pymysql模块

pymysql是一个连接mysql数据库的第三方模块,可作为连接mysql数据库的客户端,对数据库进行增删改查操作

# 下载第三方模块:pip3 install pymysql

如何连接数据库并对数据库进行操作:

import pymysql # 连接mysql数据库的模块

# 1.连接数据库
"""
需要传入的参数:
  host=None,
  user=None,
  password="",
  database=None,
  port=0,
  charset='',
  autocommit=True
"""
client = pymysql.connect(
  host="127.0.0.1",
  port=3306,
  user="root",
  password="123",
  database="test",
  charset='utf8', # 一定不要写utf-8
  # 针对增删改操作,执行重要程度高,若要执行,必须要有一步确认的操作,autocommit=True默认对数据库进行增删改操作时自动提交至数据库;若此处不写,在下面代码 cursor_obj.execute(sql) 后面手动需要添加 client.commit()操作
  autocommit=True
)
# print(client)  # 打印结果:<pymysql.connections.Connection object at 0x00000000028A8B88>


# 2.获取游标对象。游标:可以用来提交sql命令
# pymysql.cursors.DictCursor:将查询出来的结果制作成字典的形式返回
cursor_obj = client.cursor(pymysql.cursors.DictCursor)

# 3.通过execute可以提交sql语句(增删改查都可以,可以使用try来捕获异常)
try:
  # 1.1)查数据
  sql = "select * from books" # 不用写分号

  # 1.2)插入数据
  # sql = "insert into student(id, name, sex, birthday, class) values('110', '张芳', '男', '1946', '95030')"  # 不用写分号

  # 2)提交sql语句
  res = cursor_obj.execute(sql)
  # print(res)  # execute返回的是当前sql语句所影响的行数
  # client.commit()  # 上面连接数据库的代码处已写了autocommit=True,此处注释掉

  # 3.1)提交后,通过cursor_obj对象.fetchall()  获取所有查询到的结果
  data = cursor_obj.fetchall()
  for i in data:
    print(i)

  # 3.2).fetchone()  只获取查询结果中的一条
  # print(cursor_obj.fetchone())

  # 3.3).fetchmany() 可以指定获取几条数据
  # print(cursor_obj.fetchmany(4))  # 获取四条数据

except Exception as e:
  print(e)

# 关闭游标
cursor_obj.close()
# 关闭客户端连接
client.close()

执行结果(以下为我本地数据库的数据):

{'BookID': 11425, 'BookTitle': 'Python', 'Copyright': 1984}
{'BookID': 12786, 'BookTitle': 'Java', 'Copyright': 1934}
{'BookID': 13331, 'BookTitle': 'MySQL', 'Copyright': 1919}
{'BookID': 14356, 'BookTitle': 'PHP', 'Copyright': 1966}
{'BookID': 15729, 'BookTitle': 'PERL', 'Copyright': 1932}
{'BookID': 16284, 'BookTitle': 'Oracle', 'Copyright': 1996}

pymysql模块使用简介与示例

以上就是pymysql模块使用简介与示例的详细内容,更多关于pymysql模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Django中模版的子目录与include标签的使用方法
Jul 16 Python
Python的Flask框架中配置多个子域名的方法讲解
Jun 07 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
Python清空文件并替换内容的实例
Oct 22 Python
python操作文件的参数整理
Jun 11 Python
python 实现视频 图像帧提取
Dec 10 Python
查看端口并杀进程python脚本代码
Dec 17 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
Scrapy中如何向Spider传入参数的方法实现
Sep 28 Python
如何使用scrapy中的ItemLoader提取数据
Sep 30 Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 Python
Python模拟登录requests.Session应用详解
Nov 17 #Python
关于python scrapy中添加cookie踩坑记录
Nov 17 #Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 #Python
PyTorch预训练Bert模型的示例
Nov 17 #Python
python 下载文件的多种方法汇总
Nov 17 #Python
python跨文件使用全局变量的实现
Nov 17 #Python
Python中logging日志的四个等级和使用
Nov 17 #Python
You might like
用Socket发送电子邮件
2006/10/09 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
js数组的操作指南
2014/12/28 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
Python如何批量生成和调用变量
2020/11/21 Python
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
高二英语教学反思
2014/01/19 职场文书
《火烧云》教学反思
2014/04/12 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
中队活动总结
2014/08/27 职场文书
小学教师师德整改措施
2014/09/29 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
甲午大海战观后感
2015/06/02 职场文书
诚信高考倡议书
2019/06/24 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL