一、 匯出資料的兩種主流方法
1. SQL 指令:SELECT ... INTO OUTFILE
SELECT * FROM samp_table INTO OUTFILE 'file_name';
輸出檔案生成於伺服器端 datadir,需 FILE 權限。
2. 命令列工具:mysqldump
mysqldump -u root samp_db samp_table > samp.sql
常用選項:-d 僅匯出結構、-t 僅匯出資料、--opt (預設開啟快速匯出組合)。
二、 匯入資料的對應方法
| 來源 | 匯入指令 |
| mysqldump 輸出 (.sql) | mysql -u root samp_db < samp.sql |
| 文字檔 (欄位對應表) | mysqlimport -u root samp_db samp_table.txt (檔名必須為 表名.txt) |
| 文字檔 (SQL 模式) | LOAD DATA INFILE 'file_name' INTO TABLE samp_table; |
三、 檔案層級快速遷移 (同架構版本)
- 查詢資料目錄:
SHOW VARIABLES LIKE 'datadir'; 或 mysqladmin variables。
- 直接複製
datadir/資料庫名/ 下的 .frm, .MYD, .MYI 檔案到目標伺服器同位置。
- 刷新權限或重啟服務即可識別。
前提:同版本、同作業系統、同儲存引擎 (MyISAM),否則易損壞。
四、 從 Access 遷移到 MySQL 實戰
- Access 匯出文字檔:選擇合適的欄位分隔符 (如逗號) 與文字限定符號 (如雙引號),確認每筆資料佔單一行 (移除換行符)。
- 假設輸出
c:\samp_table.txt 內容:
1,張新化,男
2,江先進,女
- 匯入指令:
-- mysqlimport 方式
mysqlimport -u root --fields-terminated-by="," samp_db samp_table.txt
-- 或 SQL 方式 (注意路徑轉義)
LOAD DATA INFILE 'c:\\samp_table.txt' INTO TABLE samp_table
FIELDS TERMINATED BY ',';
常用 LOAD DATA 選項
FIELDS TERMINATED BY ',':欄位分隔符 (預設 Tab)
FIELDS ENCLOSED BY '"'":欄位包裹字元 (預設無)
FIELDS ESCAPED BY '\\\\':轉義字元 (預設反斜線)
LINES TERMINATED BY '\\n':行結束符
若仍失敗,請參考 HELP LOAD DATA INFILE 微調參數。
copyright ©
萬盛學電腦網 all rights reserved