python - 在没有 For 循环的 Python 中从 MySQL 中选择数组

标签 python mysql arrays

我试图在不使用 for 循环的情况下从我的 MySQL 中选择一组值。 for 循环需要很长时间,我想一次获取所有值。我不知道我的论点有什么问题,而且我很难解释我收到的错误消息的含义。

zipcode = ["37204", "60964", "60068"]
connection = MySQLdb.connect(host="localhost", user="root", passwd="password", db="database", cursorclass=MySQLdb.cursors.SSCursor)
cursor = connection.cursor()  
query = "SELECT fips FROM us WHERE zip = %s"
cursor.executemany(query,zipcode)
results = cursor.fetchall()

错误看起来像这样:

query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting

感谢任何帮助。

最佳答案

Python 不是我的强项,我以前也没有使用过 executemany,但我认为它不应该用于执行应该返回某些内容的代码。您可能希望在查询中使用 IN。

query = "SELECT fips FROM us WHERE zip IN ('%s')" % "','".join(zipcode)
cursor.execute(query)
results = cursor.fetchall()

关于python - 在没有 For 循环的 Python 中从 MySQL 中选择数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24023060/

相关文章:

mysql - 下拉菜单是否存在MySQL注入(inject)风险

c - 多次读取文件失败(需要字符数组 malloc?)

c - 在 C 中使用指针提取数组的一部分

php - 将 MySQL INNER JOIN 的结果合并到一个 PHP 数组中

python - 根据百分位数绘制直方图

python - 如何在Python中执行特定时间段的功能?

Mysql 查询返回的记录数多于返回的行数,我想要所有行

python - 计算具有非唯一日期索引的数据帧的滚动中位数

python - 试图弄清楚为什么我的程序在我尝试输入三项时只允许我输入一项

php - 从 PHP HTML 表提交表单