一尘不染

如何使用python mysqldb一次插入许多行

mysql

我有一个清单清单,例如[['a','b'],['c','d']]

我有一个叫做的表格T和两个字段F1F2。字段列表中的第一项映射到F1,第二项映射到F2

如何在单个命令或调用中为每个内部列表插入行,而不是像这样使用for循环?

for i in [['a','b'],['c','d']]:
    c.execute("insert into T (F1,F2) values (%s, %s)", (i[0], i[1]))

阅读 273

收藏
2020-05-17

共1个答案

一尘不染

从《MySQLdb用户指南》中

c.executemany(
      """INSERT INTO breakfast (name, spam, eggs, sausage, price)
      VALUES (%s, %s, %s, %s, %s)""",
      [
      ("Spam and Sausage Lover's Plate", 5, 1, 8, 7.95 ),
      ("Not So Much Spam Plate", 3, 2, 0, 3.95 ),
      ("Don't Wany ANY SPAM! Plate", 0, 4, 3, 5.95 )
      ] )

所以在你的情况下:

c.executemany("insert into T (F1,F2) values (%s, %s)",
    [('a','b'),('c','d')])
2020-05-17