我有一个列名列表,我想从 mysql 数据库中提取这些列名。每次循环并查询是一个很好的做法吗?
当我这样做时,有时/随机地它似乎挂起;当我重新启动脚本时,它会在不同的迭代中挂起。在我继续尝试破译问题所在之前,我想知道这是否是一个不好的做法。
import mysql.connector
import numpy as np
cnx = mysql.connector.connect(user='user', password='pw', host='ip_here')
for i,j in enumerate(columnList):
cursor.execute('SELECT `' + j + '` FROM `table_name`')
iValues = cursor.fetchall()
cursor.close
if i == 0:
extractedValues = iValues
else:
extractedValues = np.hstack((extractedValues, iValues))
cnx.close
最佳答案
一次查询一个列是非常奇怪的,因为您无法将一列中的值与另一列相关联。除非您的表是一堆不相关的数据(不是真正的记录,即您的表根本没有标准化),否则这将删除数据的所有含义。如果您尝试处理动态或变量列,您可以构建一个动态查询字符串(附加列名、逗号、列名、逗号...),然后执行该查询。我很难想象查询单个列而不是行/记录是有用的场景。
关于Python迭代查询mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37756625/