[精讚] [會員登入]
2353

[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

你可能感興趣的文章

兩次使用InnoDB的慘痛經驗 Mysql 的Innodb引擎雖然好用,但是我得說說我兩次的慘痛經驗,這讓我考慮以後可能不會再使用innodb了

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

[Mysql/Mariadb] Left Join 和 Right Join 合併表單 SQL語法中的 Left Join 和 Right Join 很常用,但是我常會忘記,所以寫下來備忘。

[Mysql/Mariadb] 全文檢索 fulltext index 關於 MySQL 的全文檢索

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

[Mysql/Mariadb] 查看使用狀態,抓出可疑慢查詢SQL 當Mysql 的負載loading飆高時,除了重新啟動外,如果想對症下藥,那該怎麼處理?

隨機好文

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

魔球中小女孩唱的歌 The show 魔球中小女孩唱的歌 The show

外匯課程經驗 有天遇到某個朋友的正妹朋友,說她有個很棒的外匯投資課程,要我們去聽,只收場地費200大洋。她又說續效最差一個月也有1%,誰還在苦哈哈上班?

最值得學的電腦技能 什麼是最值得學的電腦技能?程式設計?美工繪圖?系統網路?還是…? 都不是!個人覺得一個最值得學的電腦技能就