Python查询Mysql时返回字典结构的代码

来源:互联网 发布:淘宝手办哪家比较好 编辑:程序博客网 时间:2024/05/16 17:45
MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单修改方法,就是传递一个cursors.DictCursor就行。 
默认程序: 
MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行。默认程序: 


import MySQLdb 
db = MySQLdb.connect(host = ´localhost´, user = ´root´, passwd = ´123456´, db = ´test´) 
cursor = db.cursor() 
cursor.execute(´select * from table´) 
rs = cursor.fetchall() 
print rs 

# 返回类似如下 
# ((1000L, 0L), (2000L, 0L), (3000L, 0L)) 
修改后: 


import MySQLdb 
import MySQLdb.cursors 
db = MySQLdb.connect(host = ´localhost´, user = ´root´, passwd = ´123456´, db = ´test´,cursorclass = MySQLdb.cursors.DictCursor) 
cursor = db.cursor() 
cursor.execute(´select * from table´) 
rs = cursor.fetchall() 
print rs 

# 返回类似如下 
# ({'age': 0L, 'num': 1000L}, {'age': 0L, 'num': 2000L}, {'age': 0L, 'num': 3000L}) 或者也可以用下面替换connect和cursor部分 


db = MySQLdb.connect(host = ´localhost´, user = ´root´, passwd = ´123456´, db = ´test´) 
cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)