首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Access 資料遷移至 MySQL 完整操作手冊

     編輯:MySQL 資料庫相關知識

MySQL 內建匯出入工具回顧

  • SELECT ... INTO OUTFILE 'file':Server 端寫檔,需 FILE 權限,路徑受 secure_file_priv 限制。
  • mysqldump:邏輯備份,支援結構/資料/條件過濾,跨版本遷移首選。
  • mysqlimport / LOAD DATA INFILE:高效批量載入,需檔案在 Server 端或 LOCAL 關鍵字。
  • 直接複製資料目錄:僅限 MyISAM、同架構、停機窗口。

Access → 文字檔 → MySQL 標準流程

  1. Access 匯出文字檔:
    • 檔案 → 匯出 → 文字檔,選擇「分隔符號」:欄位分隔 ,,文字限定符 "。
    • **關鍵檢查**:打開匯出檔,確認**每筆資料佔單一行**,無換行符殘留;若有,手工或腳本清理。
  2. MySQL 匯入:
    # 方式一:mysqlimport(客戶端工具)
    mysqlimport -u root -p --fields-terminated-by=',' \
      --fields-enclosed-by='"' --local db_name tbl_name.txt
    
    # 方式二:LOAD DATA INFILE(SQL 語句,效能更強)
    LOAD DATA LOCAL INFILE 'C:/export/tbl_name.txt'
    INTO TABLE tbl_name
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\r\n';  -- Windows 換行

LOAD DATA 核心參數速查

參數說明預設
FIELDS TERMINATED BY欄位分隔符\t (Tab)
FIELDS ENCLOSED BY文字包裹字元無
FIELDS ESCAPED BY跳脫字元\\
LINES TERMINATED BY行結束符\n
IGNORE n LINES跳過前 n 行(如標題列)0

大資料量優化技巧

  • 匯入前 SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0; SET AUTOCOMMIT=0;,匯入後恢復並 COMMIT;。
  • 目標表無索引 → 匯入完畢再建索引,速度提升 10 倍以上。
  • 分批次匯入(每批 1-5 萬行),避免單一事務過大導致回滾段膨脹。

驗證與事後清理

SELECT COUNT(*) FROM tbl_name;  -- 對比 Access 筆數
CHECK TABLE tbl_name;           -- 檢查完整性
ANALYZE TABLE tbl_name;         -- 更新統計資訊
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved