pymysql查询结果返回字典格式
时间: 2023-07-09 14:06:45 浏览: 57
可以使用pymysql的cursor类中的fetchall()方法将查询结果以元组的形式返回,再将元组转换成字典即可。
以下是一个示例代码:
```
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='test', charset='utf8')
# 创建游标
cursor = conn.cursor()
# 执行查询语句
sql = 'SELECT * FROM users'
cursor.execute(sql)
# 获取查询结果并转换为字典
results = cursor.fetchall()
columns = [col[0] for col in cursor.description]
data = [dict(zip(columns, row)) for row in results]
# 打印结果
print(data)
# 关闭连接
cursor.close()
conn.close()
```
这个代码会将查询结果转换成一个字典列表,每个字典表示一行记录,字典的键为列名,值为对应的值。
相关问题
pymysql查询结果返回json格式
可以使用pymysql.cursors.DictCursor游标来返回查询结果为字典格式,然后使用json.dumps()方法将字典转换为JSON格式字符串。
以下是一个示例代码:
```python
import pymysql
import json
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 获取游标
cursor = conn.cursor(pymysql.cursors.DictCursor)
# 执行查询
sql = "SELECT * FROM users"
cursor.execute(sql)
# 获取查询结果,并将结果转换为JSON格式字符串
results = cursor.fetchall()
json_str = json.dumps(results, ensure_ascii=False)
# 关闭游标和连接
cursor.close()
conn.close()
# 输出JSON格式字符串
print(json_str)
```
上述代码中的json.dumps()方法中的ensure_ascii=False参数是为了保证中文字符不被转义为Unicode码。
pymysql返回字典
pymysql返回字典的方法是使用游标的`cursorclass`参数设置为`pymysql.cursors.DictCursor`。在创建游标时,将`cursorclass`参数设置为`pymysql.cursors.DictCursor`,即可返回字典形式的结果集。
示例代码如下:
```python
import pymysql.cursors
# 连接数据库
connection = pymysql.connect(host='localhost',
user='root',
password='password',
db='database',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
# 创建游标
cursor = connection.cursor()
# 执行查询
sql = "SELECT * FROM table"
cursor.execute(sql)
# 获取结果集
results = cursor.fetchall()
# 输出结果
for row in results:
print(row)
# 关闭游标和连接
cursor.close()
connection.close()
```