萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 資料匯入匯出實戰:SELECT INTO OUTFILE、mysqldump、LOAD DATA 與 Access 遷移

一、 匯出資料的兩種主流方法

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 (預設開啟快速匯出組合)。

二、 匯入資料的對應方法

三、 檔案層級快速遷移 (同架構版本)

  1. 查詢資料目錄:SHOW VARIABLES LIKE 'datadir'; 或 mysqladmin variables。
  2. 直接複製 datadir/資料庫名/ 下的 .frm, .MYD, .MYI 檔案到目標伺服器同位置。
  3. 刷新權限或重啟服務即可識別。

前提:同版本、同作業系統、同儲存引擎 (MyISAM),否則易損壞。

四、 從 Access 遷移到 MySQL 實戰

  1. Access 匯出文字檔:選擇合適的欄位分隔符 (如逗號) 與文字限定符號 (如雙引號),確認每筆資料佔單一行 (移除換行符)。
  2. 假設輸出 c:\samp_table.txt 內容:
    1,張新化,男
    2,江先進,女
  3. 匯入指令:
-- 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
來源匯入指令
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;