MySQLdb 将字典插入表中

ElK*_*ina 2 python dictionary insert mysql-python

我有一行 dict 格式的数据。有没有一种简单的方法可以将它插入到 mysql 表中。我知道我可以编写一个自定义函数来将 dict 转换为自定义 sql 查询,但我正在寻找更直接的替代方法。

Ric*_*nes 5

嗯...根据文档paramstyle

设置为'format' = ANSI C printf 格式代码,例如'...WHERE name=%s'。如果映射对象用于 conn.execute(),则接口实际上使用 'pyformat' = Python 扩展格式代码,例如 '...WHERE name=%(name)s'。但是,API 目前不允许在 paramstyle 中指定一种以上的样式

所以,这应该只是一个问题:

curs.execute("INSERT INTO foo (col1, col2, ...) VALUES (%(key1)s, %(key2)s, ...)", dictionary)

其中key1,key2等将是字典中的键。

免责声明:我自己没有尝试过:)

编辑:是的,试过了。有用。