当前位置: 首页 > 面试题库 >

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

仇正平
2023-03-14
问题内容

我有一个清单清单,例如[['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]))

问题答案:

从《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')])


 类似资料:
  • 问题内容: 我知道一次插入多个数据效率更高: 在golang中该怎么做? 使用字符串拼接,但这不是很好。db.Prepare更安全吧? 我需要一个功能更安全,更高效的函数,一次插入多个数据。 问题答案: 为什么不这样呢?(在此处编写但未进行测试,因此可能存在语法错误):

  • 我将一行一行地插入数据,但我在某处听说,如果有许多数据要插入,则需要很多时间。那么,如何一次将它们全部插入?

  • 我一直在使用PDO和下面的函数一次在1000个块中插入多个记录。现在,我正在使用一个使用mysqli的系统,我想知道是否可以稍微修改一下我的函数,使其也能使用mysqli。但是,我注意到mysqli execute不接受数组作为参数。以下函数与PDO配合使用非常好且快速: 谢谢!

  • 我是sybase db的新手。我正在尝试使用以下代码插入多行 并且我在第一条语句的末尾收到错误“';'附近的语法不正确”?有什么想法吗?

  • 问题内容: 是否可以使用一个insert语句在一个表中插入多行?我知道如果发生以下情况,将会发生这种情况: 但是,如果我想插入: 只需一个插入命令? 问题答案: 两种解决方案(来源:http : //appsfr.free.fr/spip.php?article21): 或者

  • 本文向大家介绍vim 一次将文字插入多行,包括了vim 一次将文字插入多行的使用技巧和注意事项,需要的朋友参考一下 示例 按Ctrl+v进入可视块模式。 使用↑/ ↓/ j/k选择多行。 按Shift+i并开始输入所需内容。 按之后Esc,文本将插入到您选择的所有行中。 请记住,Ctrl+c不是100%等价的,Esc在这种情况下将不起作用! 在可视块模式下,可以按Shift+的微小变化i: 键 描