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之集合的关系
Sep 24 Python
python数据处理实战(必看篇)
Jun 11 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
python解析json串与正则匹配对比方法
Dec 20 Python
selenium+python自动化测试之页面元素定位
Jan 23 Python
django如何自己创建一个中间件
Jul 24 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
python实现用户名密码校验
Mar 18 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
python文件排序的方法总结
Sep 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
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python中的__slots__使用示例
2015/02/26 Python
python对象及面向对象技术详解
2016/07/19 Python
详解python中的文件与目录操作
2017/07/11 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
送给程序员的20个Java集合面试问题
2014/08/06 面试题
质量月口号
2014/06/20 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫