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

MySQL 資料匯出三大神器:mysqldump、SELECT INTO OUTFILE、報表產生器

     編輯:MySQL 綜合教學

原因:為何需要匯出資料?

  • 備份:資料價值高,定期備份防遺失
  • 共享:跨系統、跨部門、跨組織交換資料(如書商共享新書資料、醫院共享病歷)

工具一:mysqldump(最強大、最常用)

位於 mysql/bin/,功能遠超 mysqlimport。可將整庫導出為單一 SQL 腳本檔,含結構(CREATE)與資料(INSERT)。

基本用法

# 全庫導出
bin/mysqldump -p Meet_A_Geek > MeetAGeek_Dump_File.txt

# 單表導出
bin/mysqldump -p Meet_A_Geek Orders > MeetAGeek_Orders.txt

# 條件導出(WHERE)
bin/mysqldump -p --where="Order_ID > 2000" Meet_A_Geek Orders > Special_Dump.txt

關鍵參數速查

參數功能
--add-drop-table每表前加 DROP TABLE IF EXISTS,重複導入不報錯
--add-locksINSERT 加 LOCK/UNLOCK TABLES,防併發干擾
-c / --complete-insertINSERT 含欄位名,跨庫遷移更安全
--delayed-insertINSERT 加 DELAYED 選項
-F / --flush-logs導出前刷新伺服器日誌
-f / --force遇錯誤繼續導出
--fullCREATE TABLE 含附加資訊
-l / --lock-tables導出時鎖定表(MyISAM 適用)
-t / --no-create-info僅導出資料,不含 CREATE TABLE
-d / --no-data僅導出結構,不含 INSERT
--opt啟用所有加速導出/導入參數組合(預設開啟)
-q / --quick大表逐行輸出不佔記憶體
-T / --tab=路徑產生兩檔:.sql(結構)、.txt(資料),需目錄存在且有權限
-w / --where條件過濾導出資料

進階範例:匯出 CSV 給 Excel

bin/mysqldump -p --where="Order_Date >= '2004-01-01'" \
  --tab=/home/mark --no-create-info --fields-terminated-by=, \
  Meet_A_Geek Orders

工具二:SELECT INTO OUTFILE(靈活、可做報表產生器)

與 LOAD DATA INFILE 互為逆操作,選項幾乎相同。優勢:可使用完整 SELECT 語法(JOIN、子查詢、函數),直接輸出查詢結果。

操作步驟

# 1. 確認 mysqld 運行
bin/mysqladmin ping

# 2. 進入 mysql 命令列
bin/mysql -p Meet_A_Geek

# 3. 執行匯出
SELECT * INTO OUTFILE '/home/mark/Orders.txt'
FIELDS TERMINATED BY ',' 
FROM Orders
WHERE Order_Date >= '2004-01-01';

報表產生器應用

建立 Report_G.rpt 腳本檔:


USE Meet_A_Geek;
INSERT INTO Customers (Customer_ID, Last_Name, First_Name) VALUES (NULL, 'Kinnard', 'Vicky');
INSERT INTO Customers (Customer_ID, Last_Name, First_Name) VALUES (NULL, 'Kinnard', 'Steven');
INSERT INTO Customers (Customer_ID, Last_Name, First_Name) VALUES (NULL, 'Brown', 'Sam');
SELECT Last_Name INTO OUTFILE '/home/mark/Report.rpt' FROM Customers WHERE Customer_ID > 1;

執行:bin/mysql < Report_G.rpt,輸出檔即為報表結果。

Schema 定義

用資料定義語言(DDL)完整描述資料庫結構的語句集合。

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