在for循环中通过sql alchemy执行sql insert语句



我需要在单个存储数据库中提取一堆记录,并将记录插入到另一个表中。为了提高性能,理想的方法是创建一个带有Insert Into语句的查询字符串,并每天进行迭代。

我似乎不能让python在数据库中执行查询,但它似乎运行成功?

fh = 'file_containing_insert_select_query.sql'
qry = open(fh).read()
for i in range(2):
qry_new = some_custom_function_to_replace_dates(qry, i)
engine = tls.custom_engine_function()
engine.execute(qry_new)

我已经验证了我的自定义函数创建的sql语句可以复制/粘贴到sql编辑器并成功执行,但它不会在python中运行…任何想法吗?

执行上述查询后,需要使用connection.commit()向数据库发送'commit'查询(其中connection包含数据库连接凭据和ip地址),因此它可以保存no。通过python程序插入的行。

如果您希望它运行得非常快,通常最好使用面向集合的SQL,如INSERT INTO targetTbl…SELECT FROM…;

这样,它就不必在客户端应用程序中往返了。

最新更新