SQL Alchemy 批量插入

问题描述 投票:0回答:1

有没有办法使用 sqlalchemy 将记录批量插入数据库, 我有一个元组列表,我想使用 sqlalchemy 执行命令将它们直接插入到数据库中。 有什么办法可以完成任务吗? 这是我要插入的示例

这是 row_chunk :

[(1001, '1bz', 120), (1002, '7zmk', 150), (1003, '8wqt', 170), (1005, '1qpo', 1100), (1006, '5qop', 4400 ), (1006, '5qop', 4400), (1007, '22mn', 227), (1008, 'ASDC01', 2000), (1001, 无, 无), (1010, 无, 无), (1008 ,'ASDC01',2000),(1002,无,无)]

有了这个 conn.execute(insert_query, row_chunks)

sqlalchemy
1个回答
0
投票

如果你不使用 ORM 层,你可以像这样进行批量插入:

import sqlalchemy as sa

engine = sa.create_engine(...) # Your engine URL here.

# Reflect the table, or get a reference from a model's `__table__` attribute etc.
tbl = sa.Table('name-of-table', sa.MetaData(), autoload_with=engine)

# Values should be single dict or a list of dicts.
# Bare tuples were acceptable in versions before 2.0.
values = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, ...]

with engine.begin() as conn:
    conn.execute(tbl.insert(), values)
© www.soinside.com 2019 - 2024. All rights reserved.