[精讚] [會員登入]
2358

[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] 忘記root密碼 常常會忘記root 密碼,簡單的幾步驟回復

[Mysql/Mariadb] 建立使用者及資料庫 Mysql/Mariadb建立使用者、刪除使用者、給予權限、建立資料庫

[Mysql] 將記錄由0變1、1變0;或是判斷後再改值的寫法 MySQL 將記錄由0變1,1變0的SQL寫法 假如欄位 `active` 為0 是失效;1 為有效,他的型態是 tin

[mysqldump] Mysqldump時出現記憶體錯誤Out of memory 當進行 mysqldump 時出現 Out of memory (Needed xxxxx bytes) 的錯誤,該如何處理?

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

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

隨機好文

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

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

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...