LOAD DATA INFILE 可從文字檔快速大量匯入資料到資料表。
LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
LOCAL:從客戶端主機讀取檔案;省略則從伺服器端讀取。LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl FIELDS TERMINATED BY ':' LINES TERMINATED BY '\r\n';
若檔案欄位順序與表不一致,可指定欄位對應順序:
LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl (b, c, a);
mysqlimport 是 LOAD DATA INFILE 的命令列介面,參數對應其子句。
mysqlimport -u root -p --local database_name dump.txt
| 選項 | 功能 |
|---|---|
| -d, --delete | 匯入前清空資料表 |
| -f, --force | 忽略錯誤強制繼續 |
| -i, --ignore | 跳過唯一鍵重複的列 |
| -l, --lock-tables | 匯入前鎖定資料表 |
| -r, --replace | 替換唯一鍵重複的列 |
| --fields-terminated-by | 指定欄位分隔符(預設 Tab) |
| --lines-terminated-by | 指定列結束符(預設 newline) |
| --columns | 指定欄位匯入順序 |
mysqlimport -u root -p --local --columns=b,c,a database_name dump.txt