pymysql常用的游标类型
# 导入pymysql库
import pymysql
# 连接数据库
connection = pymysql.connect(
host="10.83.0.83", # 数据库主机名
port=31379, # 数据库端口号
user="root", # 数据库用户名
password="weshare123", # 数据库密码
database="acc_cus", # 数据库名称
charset='utf8mb4', # 数据库编码方式
cursorclass=pymysql.cursors.DictCursor # 游标类
)
代码说明:
- 导入 pymysql 库和连接数据库。
- 在连接数据库时,我们使用 pymysql.connect 函数并传入数据库的相关信息,并将返回的 connection 对象保存为变量,以便后续的数据库操作。
- 其中, host 表示数据库的主机名,
- port 则表示数据库的端口号,
- user 和 password 分别表述数据库的用户名和密码,
- database 则是要连接的数据库名称。
- charset 表示数据库通信时使用的编码方式,
- cursorclass 则表示游标类,这里使用 DictCursor 表示游标返回的结果将是以字典形式展示。
pymysql 常用的游标类型
在 pymysql
中,常用的游标类如下:
- Cursor:使用此游标类,返回结果为元组类型。
- DictCursor:使用此游标类,返回结果为字典类型。
- SSCursor:使用此游标类,返回结果为元组类型。不缓存结果,适合处理大量数据,但对于内存敏感的应用,对性能的影响较大。
- SSDictCursor:使用此游标类,返回结果为字典类型。不缓存结果,适合处理大量数据,但对于内存敏感的应用,对性能的影响较大。
- 其中,
Cursor
和DictCursor
是最常用的两种游标类。 - 使用
Cursor
游标类,返回的结果为元组类型,每个元组表示一行数据; - 使用
DictCursor
游标类,返回结果为字典类型,以字典的形式表示每行数据,字典的键是列名,值是对应的值。 SSCursor
和SSDictCursor
则是无缓存的游标类,适合处理大量数据,但对内存敏感的应用不友好,也不支持fetchmany()
和scroll()
方法。
Cursor:使用此游标类,返回结果为元组类型。
不指定游标类,默认是这种游标类。
import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
database='test',
charset='utf8mb4')
# 创建游标
cursor = conn.cursor()
# 查询
sql = "select id, name from student"
cursor.execute(sql)
# 获取查询结果,返回元组类型
result = cursor.fetchall()
# 输出每行数据
for row in result:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
获取到的结果是:元组中包含元组
DictCursor:使用此游标类,返回结果为字典类型。
import pymysql.cursors
# 连接数据库
connection = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
# 创建游标
cursor = connection.cursor()
# 查询
sql = "select id, name from student"
cursor.execute(sql)
# 获取查询结果,返回字典类型
result = cursor.fetchall()
# 输出每行数据
for row in result:
print(row)
# 关闭游标和连接
cursor.close()
connection.close()
获取到的结果是:列表中包含字典