从MySQL获取行值

时间:2016-04-10 10:28:49

标签: python mysql

我遵循本指南: https://scriptingmysql.wordpress.com/2011/09/09/retrieving-data-from-mysql-via-python/

这是代码:

...
cursor.execute ("SELECT X,Y,Z FROM tab_a")

# fetch all of the rows from the query
data = cursor.fetchall()

# print the rows
for row in data :
   print row[0]

这不起作用。它说:

print row[0]
KeyError: 0

如果我将其更改为:

for row in data :
   print row

它给出了:

 {'X: '120', 'Y': '0', 'Z': '730'}

这是正确的数据但我希望它只打印120而不是整个列表。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

添加cursor(MySQLdb.cursors.DictCursor)表示您获得了一个dict,而不是您通常会获得的元组,因此您需要通过密钥访问:

for row in data:
    print(row["X"])