如何在 python 中的查询中 运行 多个 SQL 语句?
How can I run multiple SQL statements in a query in python?
我正在为我的程序实施迁移,我需要一些方法来 运行 查询中的多个语句。
我有一个关于迁移的命令:
MIGRATIONS = {
"test": ("-- apply", "-- revert", "does nothing")
}
(第一个元组元素是 "apply" 查询,第二个是 "revert" 查询,第三个是帮助页面的人类可读文本)
我目前正在使用 SQLite,但希望将来可以切换到另一个数据库。因此,我不能使用 Connection.executescript
方法,因为那是 "a nonstandard convenience method" 的 "a nonstandard shortcut"。
既然您要实施迁移,为什么不定义一个根据 well-defined 函数执行迁移的函数:
def executemany(conn, statements: List[str]):
with conn.cursor() as c:
for statement in statements:
c.execute(statement)
conn.commit()
另一种选择是使用专用的迁移工具。我偏爱 goose.
我正在为我的程序实施迁移,我需要一些方法来 运行 查询中的多个语句。
我有一个关于迁移的命令:
MIGRATIONS = {
"test": ("-- apply", "-- revert", "does nothing")
}
(第一个元组元素是 "apply" 查询,第二个是 "revert" 查询,第三个是帮助页面的人类可读文本)
我目前正在使用 SQLite,但希望将来可以切换到另一个数据库。因此,我不能使用 Connection.executescript
方法,因为那是 "a nonstandard convenience method" 的 "a nonstandard shortcut"。
既然您要实施迁移,为什么不定义一个根据 well-defined 函数执行迁移的函数:
def executemany(conn, statements: List[str]):
with conn.cursor() as c:
for statement in statements:
c.execute(statement)
conn.commit()
另一种选择是使用专用的迁移工具。我偏爱 goose.