首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Access 資料遷移 MySQL 實戰:從匯出到匯入的完整指南

     編輯:DB2 教學

MySQL 資料匯出兩大主流工具

1. SQL 語句匯出:SELECT ... INTO OUTFILE

mysql> SELECT * FROM samp_table INTO OUTFILE 'file_name';

適用於單表資料導出為文字檔,支援自訂分隔符與引用字元。

2. 命令列工具:mysqldump

shell> mysqldump -u root samp_db samp_table > samp.sql
# 只導結構:-d | 只導資料:-t

支援結構與資料分離、多表/多庫批次操作,適合遷移與備份。

資料匯入三種常用方式

  • mysqlimport -u root samp_db samp_table.txt(檔名必須與表名一致)
  • mysql -u root samp_db < file_name(匯入 mysqldump 輸出的 SQL 腳本)
  • SQL 端:LOAD DATA INFILE 'file_name' INTO TABLE samp_table;

同架構環境下的檔案直複製法

  1. 查詢 datadir:mysqladmin -u root variables 或 SHOW VARIABLES;
  2. 停止 MySQL 服務,複製對應資料庫目錄下的 .frm/.MYD/.MYI 檔案
  3. 啟動服務即可掛載

前提:作業系統、MySQL 版本、儲存引擎完全一致。

Access → MySQL 核心流程:文字檔中轉

步驟 1:Access 匯出文字檔

  • 選擇正確欄位分隔符(如逗號)與文字限定符(如雙引號)
  • 確認每筆記錄佔單一行,手工移除欄位內換行符
  • 範例輸出 c:\samp_table.txt:
    1,張新化,男
    2,江先進,女

步驟 2:MySQL 匯入指令實戰

# 方式 A:mysqlimport(命令列)
mysqlimport -u root --fields-terminated-by="," samp_db samp_table.txt

# 方式 B:LOAD DATA INFILE(SQL 端,注意雙反斜線轉義)
LOAD DATA INFILE 'c:\\samp_table.txt' INTO TABLE samp_table
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n';

關鍵參數對照表

參數用途預設值
--fields-enclosed-by欄位包裹字元(如雙引號)無
--fields-escaped-by特殊字元轉義符無
--fields-terminated-by欄位分隔符Tab (\t)
--lines-terminated-by行結束符(可多字元)\n

常見坑點與排查

  • 資料截斷/錯位:檢查分隔符是否出現在欄位內容中,需啟用 ENCLOSED BY 並設定 ESCAPED BY
  • 編碼亂碼:確保 Access 匯出編碼與 MySQL character_set_client 一致(建議 UTF-8)
  • 權限不足:FILE 權限與 secure_file_priv 目錄限制
  • LOAD DATA 失敗無回滾:建議先匯入臨時表驗證再重命名

進階技巧:ETL 工具自動化

對於定期同步或複雜轉換場景,推薦使用 Kettle (PDI)、Talend 或 Python pandas + sqlalchemy 腳本,實現欄位映射、型別轉換、錯誤隔離與增量同步的全自動化管線。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved