我有一个 .sql 文件,其中包含一堆 SQL 查询,每个查询跨越多行。我想通过 Python 在 MySQL 中使用MySQLdb
.
sqlite3
为此目的有一个“非标准快捷方式”,称为executescript()
,但在 中似乎没有任何等效功能MySQLdb
。
我注意到2 年前的这个老问题,它提出了同样的问题,但我发现答案并不令人满意。答案基本上是:
用于
subprocess
运行mysql
命令并将其发送给您的 .sql 文件。
这行得通,但它相当不优雅,并且它通过错误处理等引入了不必要的复杂性。
如果每个查询都在一行上,只需分别执行每一行。
但就我而言,它们跨越多行,所以这行不通。
如果每个查询不在一行上,请以某种方式加入它们。
但是,怎么做?我的意思是,我可以很容易地破解一些东西,所以你不需要在这里回答半生不熟的答案,也许这就是我最终要做的,但是否已经有一个成熟的图书馆可以做到这一点?我对全面而正确的解决方案而不是黑客感到更自在。