1 準備說明
文本數據是從數據庫表中導出的txt文件(後面簡稱源文件),數據按表結構順序每一條爲1行,每列以“|” 分割。導入的目標庫爲mysql-5.7.1,navicat版本11.09,表暫且稱爲目標表
2 預處理文本文件到Excel
2.1 處理數據
把源文件用nodepad++打開,記錄下總行數(後面用到)。然後把整個文件複製到一個新建的excel文件(我用的新版excel),第一行第一列粘貼。
然後工具欄選擇“數據” -> “分列” -> “分隔符號” -> 其他,數據“豎線” -> 按住shift 從數據預覽中選擇第一列到最後一列,然後選擇文本(文本的主要目的是規避excel科學計數法和四捨五入的問題)-> 完成
2.2 添加列名
添加列名可以在弄navicat導入的時候自動匹配,一列一列的手動搞實在太累了。
打開目標表,如果有數據直接選中一條,右鍵複製爲insert,在nodepad++中處理成以逗號分割的一行,然後處理方式和2.1一致。待處理好後,加在excel的數據的第1行。至此,導入數據的excel就準備好了。
3 開始導入
-
從navicat打開目標表,上方選擇導入
-
Excel文件(2007或以上),下一步選擇excel ,選擇sheet
-
下一步,這裏第一個數據行是2,最後一個數據行是剛纔計下的(總行數+1)
這裏必須要加,如果不加,excel下面有很多行,會不停的跑。而且這個導入是分批插入的,比如一次插入1000條的話,最後肯定不那麼準,最後會出現如下情況
[Err] [Imp] INSE