CSV文件導入導mysql數據庫

1.導入

基本語法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [character set gbk] [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'\' ]]
[lines terminated by'n'] [ignore number lines] [(col_name, )]

  導入實例

1 load data infile 'csv文件路徑\\test.csv' 
2 replace into table 表名 3 fields terminated by ',' 
4 optionally enclosed by '"' 
5 lines terminated by '\r\n' 
6 ignore 1 lines(Id,@name,password);

  說明:linux

         第一行就是導入文件;數據庫

         第二行參看語法就會發現有兩個詞:replaceignorereplaceignore關鍵詞控制對現有的惟一鍵記錄的重複的處理。若是你指定replace,新行將代替有相同的惟一鍵值的現有行。若是你指定ignore,跳過有惟一鍵的現有行的重複行的輸入。若是你不指定任何一個選項,當找到重複鍵時,出現一個錯誤,而且文本文件的餘下部分被忽略。windows

         第三~四行很簡單就是每一個具體字段內容之間是以逗號隔開的,那就以逗號分開。 erminated by描述字段的分隔符,默認狀況下是tab字符(\t) 。enclosed by描述的是字段的括起字符,就是說字段中若是有引號,就當作是字段的一部分。 語法中還有一個是 escaped by, 它描述的是轉義字符。默認的是反斜槓(backslash:\ )編碼

        第五行 lines terminated by是對每行進行分割,這裏要注意一個問題,若是csv文件是在windows下生成,那分割用 ‘\r\n’,linux下用 ‘\n’。spa

        第六行中 ignore 1 lines 是忽略第一行,由於第一行每每是字段名,後邊括號中有個字段很特別 @name,它是說若是csv文件中有個字段我不想插進去,那就把對應字段名變成@name.3d

具體操做:code

step1.準備CSV文件blog

      1.在數據庫中建test數據表,表屬性以下:it

          2.csv文件的存儲內容以下,命名爲test1.csv,存儲位置:「C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/test1.csv」:io

 

         驗證.csv編碼格式是否正確,務必保證導入數據的編碼格式是ANSI編碼格式

step2.數據導入:

         1.查詢已有數據庫:show databases;

         2.使用這個數據庫,使用命令:use flight_analysis;

         3.查詢咱們以前創建的表格test是否在test數據庫中,使用命令:show tables;

         4.導入數據庫:

          

#導入數據中不包含中文
1
  load data infile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/test1.csv' --CSV文件存放路徑 2 3   into test student--要將數據導入的表名 4 5   fields terminated by ',' optionally enclosed by '"' escaped by '"' 6 7   lines terminated by '\r\n';

 

#導入數據中包含中文

load data infile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/test1.csv' --CSV文件存放路徑 into table test character set gb2312 --要將數據導入的表名 fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
1 #忽略第一行
2 load data infile "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/datatest1.csv"
3 into table data_test
4 fields terminated by ',' optionally enclosed by '"' escaped by '"'
5 lines terminated by '\r\n'
6 ignore 1 lines;

 

導出

1 select * from 表名
2 into outfile '導出路徑\\test.csv' 
3 fields terminated by ',' 
4 optionally enclosed by '"' 
5 escaped by '"' 
6 lines terminated by '\n';