1 年以上前に、誰かがこの質問をしました: Python で SQL Management Studio で実行するために使用される .sql ファイルを実行します。
SQL サーバーに接続し、大規模な (数 GB) .sql ファイル内の SQL コマンドに基づいてデータベースを作成および設定するスクリプトを Python で作成しています。
SQLCMD には、SQL Server Express のダウンロードとインストールが必要なようです。私のスクリプトを使用するすべての人が SQL Server をダウンロードしてインストールする必要なく、Python から .sql ファイルを実行する他の方法はありますか? pyodbc にはこの機能がありますか?
編集:
これは別の同様の質問です: python MySQLdb で *.sql ファイルを実行します
ここでも、解決策は、コマンド (この場合は mysql.exe) から、リストされたファイルを引数としてユーティリティを呼び出すことです。
Python の DB API ライブラリの 1 つを使用してこれを行う方法があるはずですが、見つからないので、ファイルの実行に使用できる SQLCMD や MYSQL などの *.exe を探しています。コマンドラインから。
PSこれを正しく見ていない場合は、お気軽に修正してください。おそらく、以下のコードはコマンドラインから実行するのと同じくらい効率的です:
for line in open('query.sql','r'):
cursor.execute(line)