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

MySQL 數據導入導出全攻略:mysqldump、LOAD DATA、SELECT INTO OUTFILE 實戰詳解

     編輯:MySQL 資料庫相關知識

前言

MySQL 提供多種資料匯出入方式,適用場景各異。本文系統整理 mysqldump 邏輯備份、LOAD DATA INFILE 批量導入、SELECT INTO OUTFILE 文件導出三大核心工具的用法、參數詳解與實戰案例。

一、mysqldump 邏輯備份

基本流程

  1. 進入 MySQL bin 目錄:cd /usr/local/mysql/bin
  2. 導出:mysqldump -u root -p dbname > backup.sql
  3. 導入:建庫 → USE dbname; → SOURCE backup.sql;

常用參數組合

場景命令範例說明
整庫備份mysqldump -u root -p abc > abc.sql含結構與資料
單表備份mysqldump -u root -p abc users > abc_users.sql指定表名
僅結構mysqldump -u root -p -d --add-drop-table abc > abc_db.sql-d 無資料,--add-drop-table 每建表前先 DROP
跨字元集mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt db > out.sql解決編碼不一致問題

實戰案例

cd /usr/local/src
/usr/local/mysql/bin/mysqldump -uroot -p123456 cacti > cacti.sql
# 導入
/usr/local/mysql/bin/mysql -uroot -p
CREATE DATABASE cacti;
USE cacti;
SOURCE /usr/local/src/cacti.sql

二、LOAD DATA INFILE 批量導入

適用於大量資料高速載入,需表結構完全一致。

導出文本

SELECT * FROM aaa INTO OUTFILE 'e:/a.txt';

導入資料

LOAD DATA LOCAL INFILE 'e:/a.txt' INTO TABLE aaa;

三、SELECT INTO OUTFILE 靈活導出

預設格式(Tab 分欄、換行分行)

SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt';

自定義分隔符

SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

條件過濾導出

SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt';

四、LOAD DATA INFILE 還原對應

預設格式

LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy;

自定義分隔符

LOAD DATA INFILE '/tmp/9enjoy_hx.txt' INTO TABLE hx_9enjoy
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

指定字元集(關鍵!)

LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy CHARACTER SET gbk;

若資料庫為 GBK/UTF-8 等編碼,必須 指定 CHARACTER SET,否則導入資料會亂碼。

五、注意事項總結

  1. MySQL 進程需有目標目錄的讀寫權限
  2. 安全限制:不能覆蓋已存在的文件,無論權限如何
  3. 不支援直接導出壓縮文件,需管道配合 gzip
  4. LOCAL 關鍵字:客戶端讀取本地文件並傳送給服務端,不加 LOCAL 則由服務端直接讀取服務器文件系統
  5. 大量導入建議:臨時關閉索引、外鍵檢查、唯一性檢查,導入後重建,可大幅提升速度
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved