mysql 的load data infile的用法,mysqlinfile

來源:互聯網
上載者:User

mysql 的load data infile的用法,mysqlinfile

LOAD DATA INFILE語句從一個文字檔中以很高的速度讀入一個表中。

1、基本文法

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'   [REPLACE | IGNORE]   INTO TABLE tbl_name   [FIELDS     [TERMINATED BY 'string']     [[OPTIONALLY] ENCLOSED BY 'char']     [ESCAPED BY 'char' ]   ]   [LINES     [STARTING BY 'string']     [TERMINATED BY 'string']   ]   [IGNORE number LINES]   [(col_name_or_user_var,...)]   [SET col_name = expr,...]]
2、參數說明

OW_PRIORITY:如果你指定關鍵詞low_priority,那麼MySQL將會等到沒有其他人讀這個表的時候,才把插入資料。案例:

load data  low_priority infile "/home/mark/data sql" into table Orders;
LOCAL:如果指定local關鍵詞,則表明從客戶主機讀檔案。如果local沒指定,檔案必須位於伺服器上。

CONCURRENT:則當LOAD DATA 正在執行時,其它線程會從表中重新擷取資料。即使沒有其它線程在同時使用本表格,使用本選項也會略微影響LOAD DATA 的效能。

EPLACE 和IGNORE :關鍵字處理那些與已存在的主鍵值重複的輸入記錄。如果指定了REPLACE,輸入行將會代替已存在的行(也就是說,主索引值相同的行將作為存在的行)。參考REPLACE 文法 。如果指定了IGNORE,與已存在行主鍵值重複的輸入行將被跳過。如果不指定二者中的任一個,則操作行為將依賴是否指定了LOCAL 關鍵字。沒有指定LOCAL,則如果發現有重複的鍵值,將產生一個錯誤,並忽略文字檔的其餘部分。
FIELDS:指定了檔案記段的分割格式,如果用到這個關鍵字。

terminated by:意思是以什麼字元作為分隔字元,預設情況下是tab字元(\t),例如:TERMINATED BY '\t'
enclosed by:欄位結束符號。
escaped by:欄位開始符號,預設的是反斜線 (backslash:\ ),例如:ESCAPED BY '\\'。

Load Data InFile 'C:/Data.txt' Into Table `TableTest` Fields Terminated By ',' Enclosed By '"' Escaped By '"' Lines Terminated By '\r\n';
Fields Terminated By ',' Enclosed By '"' Escaped By '"'
表示每個欄位用逗號分開,內容包含在雙引號內


Lines Terminated By '\r\n';
表示每條資料用分行符號分開

LINES TERMINATED:指定了每條記錄的分隔字元,預設為'\n'為分行符號。

IGNORE number LINES:這個選項可以用來忽略檔案開頭部分的行。例如,可以用IGNORE 1 LINES 來跳過含有列名的的頭一行:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;

col_name_or_user_var:表示資料表欄位:

SET col_name = expr:提供不是來源於輸入檔案的值。

LOAD DATA INFILE 'file.txt' INTO TABLE t1 (column1, column2) SET column3 = CURRENT_TIMESTAMP;

3、其他說明
        如果希望裝載操作中忽略外鍵約束,可以在執行LOAD DATA 之前執行SET FOREIGN_KEY_CHECKS=0 語句。
如果使用者在一個空的 ceshi 表上使用LOAD DATA INFILE,所有非唯一索引會以分批方式被建立(就像REPAIR)。當有許多索引時,這通常可以使LOAD DATA INFILE 更快一些。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.