[精讚] [會員登入]
2287

[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] 利用phpMyAdmin 建立關聯式資料表 利用phpMyAdmin 建立關聯式資料表

[Mysql] 修改資料庫預設校對或編碼 修改資料庫預設校對或編碼的方法

[Mysql] 資料型態int, float, double, text, char, varchar, blob大小 Mysql中資料型態int, float, text, char, varchar, blob大小

[MariaDB] Centos 7安裝mariadb + apache + php + phpmyadmin Centos 7安裝mariadb+apache+php+phpmyadmin

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

[Mysql] 使用索引來加速搜尋 只要是常常用到搜索條件的欄位,就應該把它設成索引鍵,有無設定的速度差可能會好幾倍

隨機好文

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

沒有非誰做不可的事,也沒有不可被取代的人 沒有非誰做不可的事,也沒有不可被取代的人

[HP DL380G7] 生效啟動第3,4片網卡/開啟或關閉內建的網卡 HP DL380G7 預設第3,4片網卡裝完系統後找不到,難道是壞了?要怎麼辦?

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

看懂DSUB DVI HDMI USB等各式影音接頭 看懂DSUB DVI HDMI等各式影音接頭