Python迭代查询mysql

标签 python mysql sql database mysql-python

我有一个列名列表,我想从 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/

相关文章:

mysql - 如何从表中的某一列中选择具有相同但随机值的行,而无需仅使用一个查询知道该值?

sql - 如果值不同,则DB2,MERGE INTO更新

sql - 如何合并 BigQuery 中多行的 NULL?

python - 如何在 Pandas 的多列中按数据集分组

php - 评估数学表达式

MySQL查询2表不相关列

php - codeIgniter 获取结果的问题

python - 使用 python/COM 的 Windows 应用程序自动化

在 docker 容器内运行的 Python 程序依赖于 'uname -r'

python - 如何从 python 中的 HTML 表格中的特定单元格获取数据?