【mysql】MySQLdb返回字典方法
来源:http://blog.csdn.net/zgl_dm/article/details/8710371
默认mysqldb返回的是元组,这样对使用者不太友好,也不利于维护
下面是解决方法
import MySQLdb import MySQLdb.cursors conn = MySQLdb.Connect ( host = 'localhost', user = 'root' , passwd = '', db = 'test', compress = 1, cursorclass = MySQLdb.cursors.DictCursor, charset='utf8') // <- important cursor = conn.cursor() cursor.execute ("SELECT name, txt FROM table") rows = cursor.fetchall() cursor.close() conn.close()
for row in rows:
print row ['name'], row ['txt'] # bingo!
# another (even better) way is:
conn = MySQLdb . Connect ( host = ' localhost ', user = 'root' , passwd = '', db = 'test' , compress = 1) cursor = conn.cursor (cursorclass = MySQLdb.cursors.DictCursor) # ... # results by field name cursor = conn.cursor() # ... # ...results by field number
注意:如果同时安装了PyMySQL和MySQL-python库,会导致MySQL-python失效,只有pymsql可用
解决办法:
try: import pymysql as MySQLdb except ImportError: import MySQLdb
这样就可以用一套代码搞定了