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

MySQL 將查詢結果匯出檔案、執行腳本與操作記錄 (tee 命令詳解)

     編輯:MySQL 綜合教學

MySQL 查詢結果匯出、SQL 腳本執行與操作記錄完整指南

日常資料庫維護中,常需將查詢結果匯出分析、批次執行 SQL 腳本、記錄操作過程供審計或除錯。本文詳細說明 MySQL 內建的 tee、重導向、source、SELECT ... INTO OUTFILE 等實用技巧。

一、操作記錄:tee / notee 命令

1. 連線時啟用記錄

mysql -u root -p --tee=C:\log.txt

之後所有互動指令與輸出皆會寫入 log.txt。

2. 連線後動態開啟/關閉

mysql> tee C:\log.txt;   -- 開始記錄
mysql> notee;           -- 停止記錄

二、查詢結果匯出到檔案

1. Shell 重導向 (適合單次查詢)

mysql -u root -p -e "USE mydb; SELECT * FROM users;" > C:\result.txt

2. tee 命令 (適合互動式多查詢)

mysql> tee C:\result.txt;
mysql> USE mydb;
mysql> SELECT * FROM users;
mysql> notee;

3. SELECT ... INTO OUTFILE (伺服端寫入檔案)

SELECT * FROM users INTO OUTFILE '/tmp/users.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
注意: 需有 FILE 權限,檔案路徑在伺服器端,受 secure_file_priv 限制。

三、執行外部 SQL 腳本檔案

方法一:命令列模式 (Windows/Linux 均適用)

# 基本語法
mysql -u username -p password -D database_name < script.sql

# 範例
D:\mysql\bin\mysql -uroot -p123456 -Dtest < d:\test\ss.sql
  • 腳本內已有 USE db; 可省略 -D
  • 路徑含空格需加雙引號:"C:\Program Files\mysql\bin\mysql"

方法二:MySQL 互動模式下使用 source 或 \.

mysql> source d:\test\ss.sql;
-- 或
mysql> \. d:\test\ss.sql;

四、實務應用場景建議

需求建議方式
審計所有 DDL/DML 操作啟用 General Log 或使用 tee 記錄維護窗口操作
大量資料匯出給數據分析師SELECT INTO OUTFILE 產生 CSV,再壓縮傳輸
部署上線執行結構變更腳本命令列模式 mysql < deploy.sql,搭配交易控制
開發環境快速重建測試資料source 載入 init_data.sql
小技巧: 使用 mysql -v (verbose) 可在輸出中看到執行的 SQL 語句,方便除錯腳本執行流程。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved