位於 mysql/bin/,**高效命令列匯入工具**,將文字檔資料載入指定資料庫表格。
核心約定: 匯入檔名 (第一個 . 前) **必須與目標表名一致**,否則報錯。
mysqlimport [選項] 資料庫名 檔案名
mysqlimport Meet_A_Geek Customers.txt → 匯入 Meet_A_Geek 資料庫 Customers 表。mysqlimport Meet_A_Geek Cus.to.mers.txt → 匯入 Cus 表 (第一個點前)。| 選項 | 功能 |
|---|---|
-d / --delete | 匯入前**刪除表中所有現有資料** |
-f / --force | 遇錯誤**強制繼續**插入後續資料 |
-i / --ignore | **跳過**唯一鍵衝突的資料列 (保留舊資料) |
-l / --lock-tables | 匯入前**鎖定表**,防止並發查詢/更新干擾 |
-r / --replace | **替換**唯一鍵衝突的資料列 (用新資料覆蓋舊資料),與 -i 互斥 |
--fields-enclosed-by=char | 指定欄位值**包覆字元** (如雙引號 "),預設無 |
--fields-terminated-by=char | 指定欄位**分隔符** (如逗號 ,),預設 Tab (\t) |
--lines-terminated-by=str | 指定**列分隔字串** (如 \n, \r\n),預設換行 |
-v | 顯示版本資訊 |
-p | 提示輸入密碼 (安全) |
檔案 Orders.txt 內容:
"1", "ORD89876", "1 Dozen Roses", "19991226"
指令:
bin/mysqlimport -p -r -l --fields-enclosed-by=" --fields-terminated-by=, Meet_A_Geek Orders.txt
-p:提示密碼,安全。-r:替換模式 (檔案資料較新,覆蓋表中舊資料)。-l:鎖表,保證匯入期間一致性。--fields-enclosed-by=":欄位用雙引號包覆。--fields-terminated-by=,:逗號分隔。熟悉選項組合後,
mysqlimport是極簡高效的批次匯入利器。下篇將介紹mysqldump匯出與LOAD DATA INFILE進階用法。