通過LOAD DATA方式將數據導入數據表中
LOAD DATA INFILE '輸入文件的路徑及文件名' INTO TABLE 要導入表的表名稱;
LOAD DATA INFILE 'G:/p.txt' INTO TABLE province;
LOAD DATA INFILE 'G:/p.txt' INTO TABLE province CHARACTER SET utf8 ;
這個命令有幾個需要注意的地方:
注意:
(1) 導入txt之前,應當刪除字段的表頭,否則表頭內容也會被當做字段的值導入字段中。
(2) 導入txt之前,應當將txt另存為utf-8格式,否則中文無法導入。
(3) 導入txt之前,一定要將utf-8的文檔去BOM頭化,否則因為有前導字符串,會導入錯誤。
如果沒有去BOM頭,就會在第一行出現以下經過內容,導致內容導入錯誤:
mysql> SHOW WARNINGS; +---------+------+--------------------------------------------------------+ | Level | Code | Message | +---------+------+--------------------------------------------------------+ | Warning | 1366 | Incorrect integer value: '?1' for column 'id' at row 1 | +---------+------+--------------------------------------------------------+ 1 row in set (0.00 sec)
關於第一行出錯的這個情況,開始我也沒想到是BOM頭的問題,后來看到了這個帖子 才知道。
去BOM頭,可以下載這個小工具:http://www.huacolor.com/soft/80485.html