簡體   English   中英

將SQLAlchemy與Postgres同時使用多個插入

[英]Multiple inserts at a time using SQLAlchemy with Postgres

我當前的單插入代碼是:

def add_item(a_email,a_first,a_last,a_address,a_tag):
    query = db.insert(table_items).values(email=a_email,firstname=a_first,lastname=a_last,address=a_address,tag=a_tag)
    connection.execute(query)

問題是,我要插入數百萬個條目,並且要一一花費很長時間。 一次插入10個條目的最佳方法是什么? 說我有一個清單:

my_items = []
my_items.append(["test@test.com","John","Doe","1234 1st Street","Tag1"])

假設我將10個項目附加到my_items中,如何一次性將所有項目添加到我的Postgres數據庫中?

嘗試使用sqlalchemy.dialects.postgresql insert,您將需要傳遞字典列表(鍵值對應於column_name和該行的數據。它基本上將其轉換為所有行的單個insert語句。例子是

from sqlalchemy.dialects.postgresql import insert```
...
Data=[{'column1':value1},{'column1':valu1}]
stmt=insert(Table,Data)
db.session().execute(stmt)

如注釋中所述,您還可以使用COPY命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM