MySQL Connector/Python 查询如何返回字段名
请问一下,MySQL Connector/Python 查询如何返回字段名,现在每一行都是以数字的索引。
我的代码如下:
import mysql.connector
cnx = mysql.connector.connect(user='root',password='sz123',host='192.168.0.77',port='3306', database='dams')
cursor = cnx.cursor()
query = "select hotel0,hotel1 from cd_hotel limit 2"
cursor.execute(query)
for hotelrs in cursor:
print(hotelrs)
谢谢。
Python
mysql
分享到:
------解决方案--------------------
查询字段名话用"desc cd_hotel"试试?
------解决方案--------------------
用DictCousor。
cnx = mysql.connector.connect(user='root',password='sz123',host='192.168.0.77',port='3306', database='dams', cursorclass=MySQLdb.cursors.DictCursor)
cursor = cnx.cursor()
...
另外,普通的cursor中cursor.description有所选列的信息。下面的代码会打印结果中各列的名字:
for field_desc in cursor.description:
print field_desc[0]
------解决方案--------------------
我也刚学py,刚用MySQLdb前一个星期也出现同样的疑问:
不过我解决了:
使用MySQLdb,在构造cursor时,指定cursor类型即可:
楼主,您的代码改成这样即可:
import mysql.connector
cnx = mysql.connector.connect(user='root',password='sz123',host='192.168.0.77',port='3306', database='dams')
cursor = cnx.cursor(cursorclass = MySQLdb.cursors.DictCursor)//注意这里:cursorclass = MySQLdb.cursors.DictCursor
query = "select hotel0,hotel1 from cd_hotel limit 2"
cursor.execute(query)
for hotelrs in cursor:
print(hotelrs)
------解决方案--------------------
fData = cursor.fetchall();
print fData # 即可看到数组,其元素为k,v结构的输出
如:[{"id":1,"name":jave},{"id":2,"name":jave2}]
------解决方案--------------------
看文档呀...
http://dev.mysql.com/doc/connector-python/en/connector-python-apiref-MySQLCursor.html