我有一个要从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
尝试这样的方法…未经测试:
您应该尝试这样做,它将只得到您需要的列,每个列都集中在一行中,只有一个select:
不需要
for
因为列表理解,它将生成一个select然后执行一次,并获取
values
变量中的数据一次查询一列是非常奇怪的,因为您无法将一列中的值与另一列中的值相关联。除非您的表是一个不相关数据的抓取包(不是真正的记录,即您的表根本没有规范化),否则这将删除数据中的所有含义。如果要处理动态列或变量列,可以构建一个动态查询字符串(附加列名、逗号、列名、逗号…),然后执行该查询。我很难想象查询单个列而不是行/记录是有用的。你知道吗
相关问题 更多 >
编程相关推荐