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

Python SQLAlchemy:将查询结果插入到另一个表中,python,sql,mysql,sqlalchemy,Python,Sql,Mysql,Sqlalchemy,我从install表中得到了一些结果,如下所示: install = metadata.tables['install'] results = session.query(install) #<sqlalchemy.orm.query.Query object> 提前谢谢 您可以这样做(根据需要更改选择)。只需确保这两个表具有相同的结构即可 INSERT INTO `table1` (SELECT * FROM `table2`); 这将导致(PostgreSQL方言) 练习

我从
install
表中得到了一些结果,如下所示:

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

提前谢谢

您可以这样做(根据需要更改
选择
)。只需确保这两个表具有相同的结构即可

INSERT INTO `table1` (SELECT * FROM `table2`);
这将导致(PostgreSQL方言)


练习的目的是什么?Van,我正在尝试对
install
表进行一些验证,只有验证的子集被传递到
install\u archive
表。我确信这是一件简单的事情“将一些记录从一个表移动到另一个表,但不是全部”,但我似乎无法在文档中找到这样做的方法。我会继续找。你确定你需要用python(使用SA)而不是直接用MySQL来做吗?为什么?嗯,就是这样,我想最好用sqlalchemy的方式来做?嗯,我不知道你的具体情况,但除非有一个复杂的逻辑来过滤进入
归档
表的内容和没有的内容,我会直接在数据库中执行,避免开销。如果没有原始sql,但使用sqlalchemy表达式,您将如何执行此操作?我不相信您可以使用sqlalchemy执行类似的操作。您可以选择所有数据,然后循环并插入到另一个表中,但这将是非常低效的。用“SQLAlchemy方法”做这件事,你不会真正得到什么。像这样的SQL语句是可以移植的。我认为这并不能回答这个问题。@Andreissnin你能澄清一下你认为这不能回答这个问题的原因吗?我的意思是,一般来说,它确实可以,但它不能回答SQLAlchemy这个狭隘的主题。因为问题并不在于帮助@Oatman解决问题,他避免完全解决问题,而是要找出是否有可能用炼金术解决问题。这个问题更多的是关于SQLAlchemy和MySQL,而不是将数据从一个表移动到另一个表的一般问题。
INSERT INTO `table1` (SELECT * FROM `table2`);
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
INSERT INTO install_archive (col1, col2)
SELECT install.col1, install.col2
FROM install;