簡體   English   中英

如何使用 pymysql 運行批量插入查詢?

[英]How can I run bulk insert query using 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 腳本嗎?

如果您不需要執行的輸出,也許 subprocess 是一種替代方法。 PS:將Password關鍵字替換為您自己的關鍵字。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM