mysql在python中选择*查询后如何遍历游标?

时间:2018-07-31 12:24:44

标签: python mysql

我正在像这样查询mysql表的所有字段-

query = """select * from %s where %s=%s;""" % (tableName,key,value)
cursor.execute(query)

现在,我想遍历结果。我不想指定要提取的列名,因为我想提取所有的列名。这是通用迁移验证脚本的一部分,该脚本应该对所有mysql表进行验证。由于不同表中的列数会有所不同,因此我需要一个通用的解决方案。

我检查了https://stackoverflow.com/a/25347195/351903,但其中涉及特定字段。

2 个答案:

答案 0 :(得分:2)

MySQLdb符合PEP-249

因此,execute必须返回一个迭代器。您可以这样做:

for tupl in cursor.execute(query):
    pass

其中tupl是一个元组。


*或者,您可以使用fetchonefetchmany(n)fetchall()一次进行评估。

答案 1 :(得分:0)

首先在查询下运行

sp_help Table

然后从中获取列名

之后,运行您的代码。因为您将拥有列名。

我也创建了这种类型的实用程序。那是Windows控制台应用程序。