Python MySql 创建查询数组

Python MySql make array of a Query

我有一个 MySql 查询,一切正常,但我想为查询中使用的每一行创建一个数组

这是我的代码:

db = MySQLdb.connect(host="127.0.0.1", user="root", passwd="", db="seliso")

cursor = db.cursor()

cursor.execute("SELECT * FROM usuarios WHERE contador = " + "'" + userContador + "'")

results = cursor.fetchall()

for row in results:
    rfc = row[1]
    clave = row[2]

我想做的例子:

db = MySQLdb.connect(host="127.0.0.1", user="root", passwd="", db="seliso")

cursor = db.cursor()

cursor.execute("SELECT * FROM usuarios WHERE contador = " + "'" + userContador + "'")

results = cursor.fetchall()

for row in results:
    rfc = row[1]
    clave = row[2]

$arrayRFC = ["rfc1", "rfc2", "rfc3"]
$arrayClave = ["clave1", "clave2", "clave3"]

如何实现?

提前致谢。

您可以通过以下方式获得:

for i in zip(*results):
    print(list(i))

此外,出于 SQL injection 的原因,您不应该像那样使用字符串连接。相反:

cursor.execute("SELECT * FROM usuarios WHERE contador = %s",(userContador,))

其中%s为参数样式为:http://mysql-python.sourceforge.net/MySQLdb.html