相关疑难解决方法(0)

psycopg2:使用一个查询插入多行

我需要用一个查询插入多行(行数不是常量),所以我需要像这样执行查询:

INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6);
Run Code Online (Sandbox Code Playgroud)

我知道的唯一方法是

args = [(1,2), (3,4), (5,6)]
args_str = ','.join(cursor.mogrify("%s", (x, )) for x in args)
cursor.execute("INSERT INTO t (a, b) VALUES "+args_str)
Run Code Online (Sandbox Code Playgroud)

但我想要一些更简单的方法.

python postgresql psycopg2

121
推荐指数
7
解决办法
9万
查看次数

Psycopg2,Postgresql,Python:批量插入的最快方法

我正在寻找将数百万个元组批量插入数据库的最有效方法.我正在使用Python,PostgreSQL和psycopg2.

我创建了一个很长的郁金香列表,应该插入到数据库中,有时使用几何修饰符Simplify.

这种天真的方式是使用字符串格式化INSERT语句列表,但我还读到了其他三种方法:

  1. 使用pyformat绑定样式进行参数化插入
  2. executemany在元组列表中使用,和
  3. 使用将结果写入文件并使用COPY.

似乎第一种方式是最有效的,但我很感激您的见解和代码片段告诉我如何正确地做到这一点.

python postgresql psycopg2

40
推荐指数
5
解决办法
3万
查看次数

标签 统计

postgresql ×2

psycopg2 ×2

python ×2