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中内置的日志模块logging用法详解
Jul 12 Python
Python中格式化format()方法详解
Apr 01 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
解决Python使用列表副本的问题
Dec 19 Python
python实现一个猜拳游戏
Apr 05 Python
使用python matploblib库绘制准确率,损失率折线图
Jun 16 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 Python
利用Python判断你的密码难度等级
Jun 02 Python
Python面试不修改数组找出重复的数字
May 20 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中使用与Perl兼容的正则表达式
2006/11/26 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
Laravel实现表单提交
2017/05/07 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
bootstrap table实例详解
2017/01/06 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
python del()函数用法
2013/03/24 Python
Django的信号机制详解
2017/05/05 Python
python协程之动态添加任务的方法
2019/02/19 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
东方电视购物:东方CJ
2016/10/12 全球购物
红旗团支部事迹材料
2014/01/27 职场文书
可贵的沉默教学反思
2014/02/06 职场文书
迎新晚会主持词
2014/03/24 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
物流管理专业推荐信
2014/09/06 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
聚会通知怎么写
2015/04/23 职场文书
音乐会主持人开场白
2015/05/28 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
学校运动会感想
2015/08/10 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis