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实现二维码扫码自动登录淘宝
Dec 27 Python
微信跳一跳python自动代码解读1.0
Jan 12 Python
分分钟入门python语言
Mar 20 Python
python 常用的基础函数
Jul 10 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
python3实现表白神器
Apr 09 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
Python 继承,重写,super()调用父类方法操作示例
Sep 29 Python
Python各种扩展名区别点整理
Feb 27 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
Jan 07 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 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输入数据统一类实例
2015/02/23 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
javascript实现密码验证
2015/11/10 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
python入门教程之识别验证码
2017/03/04 Python
Python中new方法的详解
2019/01/15 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
毕业生求职简历的自我评价
2013/10/07 职场文书
平面设计的岗位职责
2013/11/08 职场文书
班组长安全职责
2014/01/05 职场文书
美化环境标语
2014/06/20 职场文书
民主生活会发言材料
2014/10/20 职场文书
1000字打架检讨书
2014/11/03 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
男方婚前保证书
2015/02/28 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
Android中View.post和Handler.post的关系
2022/06/05 Java/Android