mysqlimport 位於 mysql/bin/,是 MySQL 官方提供的高效命令列匯入工具,專門將文字檔資料載入指定資料庫表中。採用兩個必要參數(資料庫名、檔案名)加上豐富選項的設計。
工具依據檔案名第一個句點前的字串判斷目標表名:
Customers.txt → 匯入 Customers 表Cus.to.mers.txt → 匯入 Cus 表(以第一個句點切分)注意:檔案資料格式必須與目標表結構完全一致,否則報錯。
| 選項 | 功能 |
|---|---|
-d / --delete | 匯入前清空目標表所有資料 |
-f / --force | 遇錯誤仍強制繼續 |
-i / --ignore | 跳過唯一鍵衝突的新資料(保留舊資料) |
-r / --replace | 以新資料覆蓋唯一鍵衝突的舊資料(與 -i 互斥) |
-l / --lock-tables | 匯入前鎖定表,防止併發讀寫干擾 |
--fields-enclosed-by=char | 指定欄位包裹字元(常用雙引號) |
--fields-terminated-by=char | 指定欄位分隔符(預設 Tab,CSV 常用逗號) |
--lines-terminated-by=str | 指定行分隔符(預設換行,可用字串) |
-v | 顯示版本資訊 |
-p | 提示輸入密碼(增強安全性) |
檔案內容範例:
"1", "ORD89876", "1 Dozen Roses", "19991226"
執行命令:
bin/mysqlimport -prl --fields-enclosed-by=" --fields-terminated-by=, Meet_A_Geek Orders.txt
參數解析:
-p:要求輸入密碼,保護資料安全-r:以檔案資料覆蓋表中相同唯一鍵的舊記錄(資料更新場景)-l:匯入期間鎖表,防止用戶查詢/修改髒讀--fields-enclosed-by=":欄位以雙引號包裹--fields-terminated-by=,:欄位以逗號分隔熟悉後極為簡單高效,是常態化資料同步的首選工具。