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, ...]
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
LOAD DATA LOCAL INFILE 'persondata.txt' INTO TABLE persondata (col1,col2);
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
REPLACE:新行替換舊行(主鍵/唯一鍵相同)。IGNORE:跳過衝突行。空 MyISAM 表載入時,非唯一索引批量建立(同 REPAIR TABLE),極快。大表可 ALTER TABLE ... DISABLE KEYS 載入後 ENABLE KEYS 重建。
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\n' STARTING BY ''
Windows 文件需 LINES TERMINATED BY '\r\n' 或 '\r'。
文件每行以 xxx 開頭:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test LINES STARTING BY 'xxx';
無前綴行會被整行跳過。
LOAD DATA INFILE '/tmp/jokes.txt' INTO TABLE jokes
FIELDS TERMINATED BY '' LINES TERMINATED BY '\n%%\n' (joke);
TERMINATED BY:字段分隔符,可多字符。ENCLOSED BY:引號字符,**必須單字符**。OPTIONALLY 只包裹字符型列。ESCAPED BY:轉義字符,**必須單字符**。空值輸出 \N,若設為空字符則無轉義(不推薦)。導出示例:
-- OPTIONALLY
1,"a string",100.20
-- 無 OPTIONALLY
"1","a string","100.20"