我正在像这样查询mysql表的所有字段-
query = """select * from %s where %s=%s;""" % (tableName,key,value)
cursor.execute(query)
现在,我想遍历结果。我不想指定要提取的列名,因为我想提取所有的列名。这是通用迁移验证脚本的一部分,该脚本应该对所有mysql表进行验证。由于不同表中的列数会有所不同,因此我需要一个通用的解决方案。
我检查了https://stackoverflow.com/a/25347195/351903,但其中涉及特定字段。
答案 0 :(得分:2)
MySQLdb符合PEP-249。
因此,execute
必须返回一个迭代器。您可以这样做:
for tupl in cursor.execute(query):
pass
其中tupl
是一个元组。
*或者,您可以使用fetchone
,fetchmany(n)
或fetchall()
一次进行评估。
答案 1 :(得分:0)
首先在查询下运行
sp_help Table
然后从中获取列名
之后,运行您的代码。因为您将拥有列名。
我也创建了这种类型的实用程序。那是Windows控制台应用程序。