1

我正在使用 Python 及其 MySQLdb 模块,是否可以从条件中的元组/字典/列表中执行“selectmany”-like

像这样的东西:

cursor.executemany("""SELECT * FROM customers WHERE name= %(name)s""",[d.__dict__ for d in data])

selected_rows = cursor.fecthall()

使用此方法执行删除/更新/插入可以正常工作:

cursor.executemany("""UPDATE customers SET item = %(item)s WHERE name = %(name)s""",[d.__dict__ for d in data])
4

3 回答 3

3

您可以使用“WHERE IN”sql 语法,例如,

SELECT * FROM customers WHERE name IN ('john', 'mary', 'jane');
于 2009-12-14T15:06:46.717 回答
2

我还没有使用该executemany方法,但我想知道它是否适用于 SELECT。关于什么

... where name in (...)

代替

... where name = ...

并插入一个包含data字典键的元组?

于 2009-12-14T15:07:20.240 回答
0

executemany大多数情况下是用于插入或更新。查询数据并不能很好地工作,根据我的经验,它只会返回最后一组参数。

于 2015-08-09T17:42:44.200 回答