繁体   English   中英

SQLAlchemy:将查询结果插入另一个表

[英]SQLAlchemy: Inserting the results of a query into another table

因此,我从install表中得到了一些结果,例如:

install = metadata.tables['install']  
results = session.query(install) #<sqlalchemy.orm.query.Query object>

我想将这些相同的结果插入install_archive表中。

我不完全确定该怎么做,因为我不想通过定义install-archive对象然后将结果解析为该对象来复制模式。 我相信我没有使用ORM,因为我只是在反映 (这是正确的术语吗?)表并对其进行查询。

我看到的所有教程都使用ORM。

用伪代码执行此操作的慢速方式是:

for id in result.all():
    install_archive.insert(install(id))

提前致谢!

install_archive \
.insert() \
.from_select(names=['col1', 'col2'], # array of column names that your query returns
             select=session.query(install)) # your query or other select() object

结果是(PostgreSQL方言)

INSERT INTO install_archive (col1, col2)
SELECT install.col1, install.col2
FROM install;

您可以执行以下操作(更改SELECT以适合您的需求)。 只要确保两个表具有相同的结构即可。

INSERT INTO `table1` (SELECT * FROM `table2`);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM