[精讚] [會員登入]
2329

[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/Mariadb] 正規表達式(regular express) mysql的正規表達式很詭異,很不能接受

[MYSQL] 把SELECT的結果UPDATE到表中 Mysql update select 出來的結果,一次完成

[Mysql] 修改欄位的自動索引值autoindex (auto_increment ) Mysql 新增、刪除、修改、查看欄位的自動索引值autoindex (auto_increment)

[Mysql] Mysqldump 的預設編碼 --default-character-set 有時Mysqldump 也得要指定編碼才不會造成匯出的亂碼

[Mysql/Mariadb] GROUP_CONCAT 函數 MySQL 中和 group by 一起用的函式,如果我們要算數值的總和或平均,可以使用 sum() 或 avg() 。但是我們如果要在 group by 中把字串「黏起來」,不是使用 concat(

[Mysql] 建立叢集式資料庫2/4 -- DB2、DB3設定 使用galera建立Mysql的叢集式資料庫 ,繼續建立第2,第3台DBs

隨機好文

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

Linux shell 的date表示法 linux下SHELL中的date表示法

UTF8中文字/全形一覽 快速查詢urf-8的中文字,共計13246中文字(5401常用字+7652罕用字+日文或編號),292全形符號,27半形符號。

海棉寶寶超泡杯演奏的sweet victory 章魚哥和海棉寶寶在超泡杯的演奏歌曲

[PHP]解決ksort新增的SORT_NATURAL|SORT_FLAG_CASE方法 php>=5.4中ksort函數多了SORT_NATURAL 和 SORT_FLAG_CASE 旗標,對舊版的PHP中要怎麼辦?