我有一个包含了一堆的SQL查询的.sql文件,每个查询的跨越多个行。 我想用通过Python执行在MySQL这些查询MySQLdb
。
sqlite3
有“一个非标准快捷方式”为此,称为executescript()
但似乎并没有以任何同等功能MySQLdb
。
我注意到这个老问题从2年前 ,询问同样的事情,但我发现答案不满意。 答案基本上是:
使用
subprocess
来运行mysql
命令,并将其发送你的.sql文件。
这工作,但它是相当不雅,并介绍了不必要的错误处理和这种复杂性。
如果每个查询是单行线,只是单独执行的每一行。
但对我来说,他们跨越多行,所以这是不行的。
如果每个查询是不是单行线,莫名其妙地加入他们的行列。
但是,怎么样? 我的意思是,我可以砍了一些很轻松了,所以没有必要为你用半生不熟的答案在这里回答,也许这就是我最终会做什么,但有已经是既定库,做到这一点? 我会觉得更舒服了全面和正确的解决方案,而不是一个黑客。