python中什么是pymsql模块?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强> python3操作pymsql模块强>
pymysql是python中操作mysql的模块。
<强> 1。pymysql模块的安装强>
pip3安装pymysql
也可以使用pycharm这个IDE工具来安装pymysql这个模块。
<强> 2. pymysql模块的使用强>
1。执行mysql语句,获取查询的结果
代码如下:
# !/usr/bin/env python # _ * _coding: utf-8_ * _ import pymysql #创建连接 康涅狄格州=pymysql.connect(主机=?27.0.0.1"、港口=3306,用户=皉oot", passwd=啊? db=癲b1") #创建游标 光标=conn.cursor () #执行mysql语句,并返回执行的结果 res=cursor.execute (“select  name 得到db1") #打印执行的结果 打印(res) #把要执行的语句提交,否则无法保存新建或者修改数据 conn.commit () #关闭游标 cursor.close () #关闭连接 conn.close ()
执行结果为:
4
因为从db1.db1这张表中检索到四条数据,所以返回的值为4
需要注意的是,查询过程中存在中文的话,连接需要添加* *“charset=& # 39; utf - 8 # 39;“* *,否则中文会显示乱码。
2。获取查询的数据
代码如下:
# !/usr/bin/env python # _ * _coding: utf-8_ * _ import pymysql #创建连接 康涅狄格州=pymysql.connect(主机=?27.0.0.1"、港口=3306,用户=皉oot", passwd=啊? db=癲b1") #创建游标 光标=conn.cursor () #执行mysql语句 cursor.execute (“select  name 得到db1") #获取所有的执行结果 res=cursor.fetchall () #打印获取到的执行结果 打印(res) #提交要执行的mysql指令 conn.commit () #关闭游标 cursor.close () #关闭连接 conn.close ()
执行结果为:
((& # 39;小明# 39;,),,(& # 39;xiaobing # 39;,),,(& # 39;小勇# 39;,),,(& # 39;肖建# 39;,))
可以看的到,返回的结果是一个元组类型的数据。
还可以在创建游标的时候,使用选项来指定返回的结果为哪种数据类型:
光标=conn.cursor(光标=pymysql.cursors.DictCursor)
使用这个指令可以把返回的结果变成字典类型。
在获取执行的结果时,可以指定获取的结果的条数,可以使用的选项如下:
fetchone (),,,,,取得检索结果的一条数据
fetchmany (n),,,,取得检索结果的n条数据
fetchall (),,,,,取得检索结果的所有数据
需要注意的是,与读取文件时的指针类似。如果在同一段代码中,先使用fetchone()获取检索结果的第一条数据,
然后再使用fetchmany(2)的话,指针会在检索结果的当前位置向后读取执行结果,而不会从头开始重新读取检索的结果。
代码如下:
# !/usr/bin/env python # _ * _coding: utf-8_ * _ import pymysql #创建连接 康涅狄格州=pymysql.connect(主机=?27.0.0.1"、港口=3306,用户=皉oot", passwd=啊? db=癲b1") #创建游标 光标=conn.cursor(光标=pymysql.cursors.DictCursor) #执行mysql语句,并返回执行的结果 cursor.execute (“select  name 得到db1") #取执行结果的第一条数据,并打印 res1=cursor.fetchone () print(“却;能够is first 结果:“,res1) #从剩下的执行结果中再取两条数据,并打印 它=cursor.fetchmany (2) print(“却;能够is second 结果:“,它) #再从剩下的数据中取所有的数据,并打印 res3=cursor.getchall () print(“却;能够is third 结果:“,res3) #提交要执行的命令 conn.commit () #关闭游标 cursor.close () #关闭连接 conn.close ()
执行结果如下:
却;能够is first 结果:,{& # 39;名字# 39;:,& # 39;小明# 39;} 却;能够is second 结果:[{& # 39;名字# 39;:,& # 39;xiaobing # 39;},,{& # 39;名字# 39;:,& # 39;小勇# 39;}] 却;能够is third 结果:[{& # 39;名字# 39;:,& # 39;肖建# 39;}]
第一次取第一行的检索结果,第二次取两行的时候,第三次取剩下的所有的结果。
因为数据表中只有四条记录,而第一次已经取走一行了,