我正在使用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])
答案 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的效果不是很好,根据我的经验,它只会返回最后一组参数。