2016-05-04 28 views
0

pymysqlを使用して挿入クエリスクリプトファイルを実行するにはどうすればよいですか?pymysqlを使用して一括挿入クエリを実行するにはどうすればよいですか?

大きなデータ用の挿入クエリスクリプトファイルを作成しました。 (データ行数:50,000)

ファイル名はbulkinsert.sqlで、次のようなクエリが含まれています。

INSERT INTO test(dt, user, usertype, ip) VALUES 
("2016-05-01", 3103945, , 1, "175.195.249.217"), 
("2016-05-01", 3103946, , 1, "175.195.249.218"), 
("2016-05-01", 3103947, , 1, "175.195.249.219"), 
................ 
................ 
................ 
("2016-05-01", 3104000, , 1, "175.195.249.500"); 

私はpymysqlを使用しましたが、SQLファイルを直接挿入または実行する方法が見つかりませんでした。以下のように。

cursor.execute(bulkinsert.sql) 

ガイドを読むときには、SQL文を読んで実行する必要があります。しかし、私のデータ行の数は多すぎて読むことはできません。 pymysqlでsqlスクリプトをインポートまたは実行する方法はありますか?

答えて

1

実行の出力が必要ない場合は、おそらくサブプロセスが別の方法です。 PS:Passwordのキーワードを自分で置き換えてください。

from subprocess import Popen, PIPE 
process = Popen(['mysql', db, '-u', user, '-pPassword'], 
       stdout=PIPE, stdin=PIPE) 
output = process.communicate('source ' + filename)[0] 
+0

ご協力いただきありがとうございます。データベースがローカルデータベースにない場合は動作しますか? – Bethlee

+0

@Bethleeはい、リモートサーバのオプションを '-h REMOTE_SERVER_IP'で追加します – Hooting

+0

オプションをチェックしました。ありがとうございました。もう1つの質問がありますが、私のlocal-pcはmysqlをインストールしていません。それは仕事ですか? – Bethlee

関連する問題