如何在python中的查询中运行多个SQL语句?

时间:2019-05-06 23:47:33

标签: python python-db-api

我正在为程序实现迁移,并且需要某种方式来在查询中运行多个语句。

我有一个迁移的决定:

MIGRATIONS = {
        "test": ("-- apply", "-- revert", "does nothing")
        }

(第一个元组元素是“ apply”查询,第二个是“ revert”查询,第三个是人类可读的帮助页面文本)

我当前正在使用SQLite,但希望将来可以选择切换到另一个数据库。因此,我不能使用Connection.executescript方法,因为这是“非标准便捷方法”的“非标准快捷方式”。

1 个答案:

答案 0 :(得分:0)

既然您正在实施迁移,那么为什么不根据定义良好的功能来定义执行该功能的功能呢?

def executemany(conn, statements: List[str]):
    with conn.cursor() as c:
        for statement in statements:
            c.execute(statement)
        conn.commit()

另一个选择是使用专用的迁移工具。我偏爱goose