如何从字典中选择多行(executemany select)

时间:2009-12-14 14:51:43

标签: python select mysql executemany

我正在使用Python及其MySQLdb模块, 是否可以在条件

中从元组/字典/列表中执行“selectmany”

类似的东西:

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])

3 个答案:

答案 0 :(得分:3)

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

SELECT * FROM customers WHERE name IN ('john', 'mary', 'jane');

答案 1 :(得分:2)

我还没有使用executemany方法,但我想知道它是否适用于SELECTs。

怎么样?
... where name in (...)

而不是

... where name = ...

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

答案 2 :(得分:0)

executemany大部分用于插入或更新。查询data的效果不是很好,根据我的经验,它只会返回最后一组参数。