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 相关文章推荐
初步介绍Python中的pydoc模块和distutils模块
Apr 13 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
wxPython实现窗口用图片做背景
Apr 25 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
python去除文件中重复的行实例
Jun 29 Python
Tornado实现多进程/多线程的HTTP服务详解
Jul 25 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
php预定义常量
2006/12/25 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python sys.path详细介绍
2013/10/17 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Python中一般处理中文的几种方法
2019/03/06 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
python实现的config文件读写功能示例
2019/09/24 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
利用python 读写csv文件
2020/09/10 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
英语师范专业毕业生自荐信
2013/09/21 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
学雷锋日活动总结
2015/02/06 职场文书
react antd实现动态增减表单
2021/06/03 Javascript
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android