從Excel數據表導入MySQL,已經做過好幾次了,但每次都會碰到各種問題:invalid utf8 character string, data too long, ...,浪費了不少時間
為了提高效率,是時候指定一個數據導入的SOP了:
1.准備.txt文件
1.1 將要導入的數據(不含表頭)從工作表復制、粘貼到一個新建的Excel數據表中(避免污染源數據)
1.2 粘貼時注意:使用右鍵paste as value選項,過濾掉源數據表中的多余格式(如,字體顏色、粗體等)
1.3 將新建的Excel文檔(只含一張數據表)另存為unicode文本(試過.csv格式,不好用)
1.4 關閉另存為后的Excel文檔,在資源管理器中用記事本打開該文檔,點擊“另存為“按鈕,發現編碼格式為“Unicode”,將此項更改為“UTF-8”,覆蓋源文件。
(這一步很關鍵,如果缺少,則在導入.txt文件時Mysql會報出讓人費解的錯誤:invalid utf8 character string '')
2. 建表、導入.txt文件
2.1 根據Excel數據表的結構,設計Mysql表結構(感覺Text格式比varchar好用,不用關心各字段的長度問題)
2.2 創建表:Create table term (type text, subtype text, en text, cn text, chd text) character set=utf8;
2.3 使用Load Data InFile 'D:/sample.txt' Into Table terms lines terminated by '\r\n';語句導入.txt,成功!
開始享受數據庫操作吧!
彩蛋:
如要將查詢結果導出到.txt文件,使用語句:select * into outfile 'D:\\term.txt' from term limit 10;