使用Python的MySQL连接器:按字段名称获取数据

时间:2018-07-24 08:23:26

标签: python mysql mysql-connector-python

我必须从数据库中检索数据。现在我正在使用以下代码:

import mysql.connector

connection = mysql.connector.connect(user, password, host, database)

cursor = connection.cursor()
cursor.execute(*Query*)
data = cursor.fetchall()
name = data[0][0]
surname = data[0][1]

我需要按字段名称而不是原始索引访问数据。例如这样的东西

name = data[0]['name']
surname = data[0]['surname']

谢谢

2 个答案:

答案 0 :(得分:1)

一种选择是使用MySQLdb。然后您可以更改:

cursor = connection.cursor()

收件人:

cursor = connection.cursor(MySQLdb.cursors.DictCursor) 

,然后通过字段名称而不是索引来访问值。

答案 1 :(得分:1)

根据mysql-connector-python文档,有两种方法可以实现此目的。

手动:

cursor = cnx.cursor()
cursor.execute(...)
row = dict(zip(cursor.column_names, cursor.fetchone()))

使用MySQLCursorDict类:

cursor = cnx.cursor(dictionary=True)