[精讚] [會員登入]
2391

[MySQL/Mariadb] console 將查詢結果輸出到檔案

在mysql 的console中該如何將查詢結果輸出到檔案?

分享此文連結 //n.sfs.tw/10279

分享連結 [MySQL/Mariadb] console 將查詢結果輸出到檔案@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2025-06-17 15:37:17 最後編修
2016-11-24 01:39:55 By 張○○
 

自動目錄

在mysql 的console中該如何將查詢結果輸出到檔案?

進入mysql console 後,希望將查詢的結果輸出到檔案,該怎麼做?

mysql> select `col1`, `col2`, `col3` from table limit 0,10 into outfile '/tmp/sqloutput.txt';
Query OK, 10 rows affected (0.02 sec)

 

使用 into outfile 就可以解決這個問題

不過,特別應該注意的是:

* 如果是遠端連線到資料庫,那麼儲存的檔案會是在資料庫那台機器上,而不是自己客戶端的機器。因此,你使用的帳號必須有"FILE"的權限。

* 你的MYSQL要有寫入該目錄檔案的權限

* 輸出的檔案是以TAB分隔的資料列,不是sql語法。

* 輸出的檔案不能已存在,mysql 會出現檔案已存在的錯誤 ERROR 1086 (HY000): File 'xxx' already exists

* 如果遠端連到資料庫,在客戶端要把資料取出成檔案,可採用mysqldump即可:

  mysqldump -u user_name -p -B db_name --tables table_name > your_outputfile.sql

  或是
  mysql -u user_name -p -B db_name -e "你的SQL SELECT語法" > your_outputfile.sql

錯誤排除

1. 出現錯誤
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

這通常是因為 MySQL 伺服器啟用了 --secure-file-priv 選項,這個選項限制了可以使用的檔案路徑。

查看路徑
mysql> SHOW VARIABLES LIKE 'secure_file_priv';
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.01 sec)

指定路徑即可

mysql> `col1`, `col2`, `col3` from table limit 0,10 into outfile ' into outfile '/var/lib/mysql-files/my.txt';

2. FILE 是全域的權限

 

 

參考資料

[1] Mysql 官網 http://dev.mysql.com/doc/refman/5.0/en/select.html


原文修改 2011-03-21 15:52:42

END

你可能感興趣的文章

[MYSQL] 設定字串欄位的預設值 新增表格的時候,字串欄位給予預設空值;數字欄位給預設數值;日期欄位給空值。

[MySQL] FIND_IN_SET函數,把多筆條件判斷弄成字串 SQL 我們如果要查找某個欄位是否為某個值的時候,如果要判斷的條件很多,可以用這個函數

[MySQL/Mariadb] 正規表達式(regular express) mysql的正規表達式很詭異,很不能接受

[Mysql/MariaDB] 表格的引擎 (engine):查看及修改 MySQL表格引擎預設為 MyISAM,但在4.0以上的mysql 其實支援不只一種引擎,各有優缺點,這篇介紹引擎的操作。

Mysql INSERT ... ON DUPLICATE KEY UPDATE 寫法,MYSQL如果存在的修改,不存在就新增的寫法 Mysql有則修改,無則新增的sql寫法

[Mysql/MariaDB] 清除及設定 MySQL 的死連接 mysql 伺服器若有太多的連接,無疑的會耗用非常多的資源,若資源耗盡會影響新的連線,勢必要做一些調整

隨機好文

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…

真正的喜悅 幾種喜悅的類型,雖然很簡單,卻是很多人百思不得其解的難題..

[SIP] Kphone安裝記錄 Kphone是2008年當時ipv6剛要推廣時,唯一支援IPv6的公用網路電話,安裝的全記錄..