1. 程式人生 > >使用命令列將Excel資料表匯入Mysql中的方法小結

使用命令列將Excel資料表匯入Mysql中的方法小結

從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;