前言
在上一篇 python-49-pymysql使用 我们查询sql时没有返回dict格式,取值不是很方便
但是MySQLdb可以返回dict格式。看例子吧:
import MySQLdb
def send_sql(sql):
# 建立连接
conn = MySQLdb.connect(
host='127.0.0.1',
user='root',
passwd='123456',
db='demo',
charset='utf8')
# 建立游标时,加上"MySQLdb.cursors.DictCursor",让数据查询结果返回字典类型
cur = conn.cursor(MySQLdb.cursors.DictCursor)
# 对数据进行操作
cur.execute(sql) # 执行sql语句
data = cur.fetchone() # 读取数据
# 关闭数据库连接
cur.close()
conn.close()
return data
if __name__ == '__main__':
sql = "select * from demo.JT_data as j where j.id=1;" # 定义查询操作的sql语句
result = send_sql(sql)
print(result)
print(result.get('id'))
返回数据:
{'id': '1', 'province_id': '110000', 'province': '北京', 'city_id': '110100', 'city': '北京市', 'county_id': '110101', 'county': '东城区'}
1
也是这两个方法:
cur.fetchone() # 读取一条数据
cur.fetchall() # 读取查询出的所有数据
注意:如果出现乱码,则需要将它加入连接参数中:charset='utf8'