一年多以前,有人问过这个问题:Execute .sql files that are used to run in SQL Management Studio in python。
我正在用 python 编写一个脚本,该脚本连接到 SQL 服务器,并基于大型(几 GB).sql 文件中的 SQL 命令创建和填充数据库。
看起来 SQLCMD 需要下载并安装 SQL Server Express。是否有其他方法可以从 python 执行 .sql 文件,而无需使用我的脚本的每个人都下载和安装 SQL Server?pyodbc 有这个能力吗?
编辑:
这是另一个类似的问题: execute *.sql file with python MySQLdb
在这里,同样,解决方案是从命令(在本例中为 mysql.exe)调用实用程序,并将文件列为参数。
在我看来,应该有一种方法可以使用 Python 的 DB API 库之一来执行此操作,但我还没有找到它,所以我正在寻找可以用来运行该文件的 SQLCMD 或 MYSQL 之类的 *.exe从命令行。
PS如果我看的不正确,请随时纠正我。也许下面的代码与从命令行运行一样高效:
for line in open('query.sql','r'):
cursor.execute(line)