在 MySQL 客戶端直接執行,將查詢結果寫入伺服器端檔案:
SELECT * FROM samp_table INTO OUTFILE 'file_name';
注意:輸出檔案位於 MySQL 伺服器的資料目錄,需 FILE 權限,且檔案不能預先存在。
在系統命令列執行,支援結構、資料、條件式匯出:
# 匯出完整資料庫
mysqldump -u root -p samp_db > samp.sql
# 僅匯出特定資料表結構
mysqldump -u root -p -d samp_db samp_table > structure.sql
# 僅匯出特定資料表資料
mysqldump -u root -p -t samp_db samp_table > data.sql
mysqlimport -u root -p --fields-terminated-by="," samp_db samp_table.txt
關鍵限制:文字檔名稱必須與資料表名稱相同(如 samp_table.txt 對應 samp_table 表)。
mysql -u root -p samp_db < samp.sql
LOAD DATA INFILE 'c:/samp_table.txt'
INTO TABLE samp_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
常用參數說明:
FIELDS TERMINATED BY:欄位分隔符(預設 Tab)FIELDS ENCLOSED BY:欄位包裹字符(如雙引號)FIELDS ESCAPED BY:跳脫字符LINES TERMINATED BY:行結束符(Windows 用 \r\n,Linux 用 \n)IGNORE n LINES:跳過前 n 行(如標題列),)與文字識別符(建議雙引號 ")。Access 匯出檔案內容(c:\samp_table.txt):
1,張新化,男
2,江先進,女
MySQL 匯入指令:
LOAD DATA INFILE 'c:/samp_table.txt'
INTO TABLE samp_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
或使用 mysqlimport:
mysqlimport -u root -p --fields-terminated-by="," samp_db samp_table.txt
SHOW VARIABLES LIKE 'datadir'; 找到資料目錄(如 C:\mysql\data)。警告:僅適用於相同 MySQL 版本、相同作業系統架構、相同儲存引擎的環境遷移,否則極易導致資料損壞。