如何創建使用SQL語法,而不調用mysqldump工具的表的BULK INSERT語句批量插入轉儲文件?使用SQL創建在MySQL
請記住,SELECT ... INTO OUTFILE 'file_name'
不會爲我工作,因爲它在BULK INSERT SQL生成CSV文件,而不是輸出格式如下
INSERT INTO mytable VALUES (1,2), (5,5), ...;
如何創建使用SQL語法,而不調用mysqldump工具的表的BULK INSERT語句批量插入轉儲文件?使用SQL創建在MySQL
請記住,SELECT ... INTO OUTFILE 'file_name'
不會爲我工作,因爲它在BULK INSERT SQL生成CSV文件,而不是輸出格式如下
INSERT INTO mytable VALUES (1,2), (5,5), ...;
運行
SELECT * FROM mytable INTO OUTFILE 'dump.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
和然後用sed/perl/python/shell/whateverelse處理輸出CSV以獲得SQL腳本。
例如在python:
import csv
with open('dump.csv',"rU") as inf:
reader = csv.reader(inf)
with open("dump.sql","wb") as outf:
for row in reader:
outf.write('insert into mytable values ("'+ '","'.join(row) +'");\n')
的腳本不工作在列中的值圍繞Null
S和引號字符。
您能否以您喜歡的任何編程語言提供示例代碼,並將其轉換。 – davykiash
@davykiash檢查更新的答案 –
批量插入?你從哪裏得到你的數據?從另一張桌子?或者你想將它保存到文件? – Gustonez
我從表中獲取它,並且想要將它作爲批量插入語句保存在文件中。 – davykiash