我正在嘗試使用mysql將查詢結果寫入文件。我在幾個地方看到了關於outfile構造的一些信息,但是它似乎只將該文件寫入到正在運行MySQL的機器上(在這種情況下是遠程機器,即數據庫不在本地機器上)。將sql查詢的結果寫入mysql中的文件
或者,我也嘗試運行查詢並從mysql工作臺結果窗口中抓取(複製/粘貼)結果。這適用於一些較小的數據集,但最大的數據集看起來太大,導致內存異常/錯誤/崩潰。
任何有關此事的幫助將不勝感激。
我正在嘗試使用mysql將查詢結果寫入文件。我在幾個地方看到了關於outfile構造的一些信息,但是它似乎只將該文件寫入到正在運行MySQL的機器上(在這種情況下是遠程機器,即數據庫不在本地機器上)。將sql查詢的結果寫入mysql中的文件
或者,我也嘗試運行查詢並從mysql工作臺結果窗口中抓取(複製/粘貼)結果。這適用於一些較小的數據集,但最大的數據集看起來太大,導致內存異常/錯誤/崩潰。
任何有關此事的幫助將不勝感激。
您可以嘗試從本地cli執行查詢並將輸出重定向到本地文件目標;
Mysql -user -pass -e"select cols from table where cols not null" > /tmp/output
這取決於您用來與數據庫進行交互的SQL客戶端。例如,可以使用MySQL命令行界面結合「三通」運算,以輸出到本地文件:
http://dev.mysql.com/doc/refman/5.1/en/mysql-commands.html
tee [file_name], \T [file_name]
執行上述命令執行SQL和結果之前該查詢將被輸出到該文件。
專門針對MySQL Workbench,這裏有一篇關於Execute Query to Text Output的文章。雖然我沒有看到任何文檔,但有跡象表明,查詢下應該還有一個「導出」選項,儘管這幾乎肯定取決於版本。
你可以試試這個,如果你想在一個文件中寫MySQL查詢結果。如果您在命令行中運行MySQL查詢
這個例子寫的MySQL查詢結果爲csv
文件用逗號分隔格式
SELECT id,name,email FROM customers
INTO OUTFILE '/tmp/customers.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
問題出在獲取導出到本地機器上。該查詢將CSV保存在與mySQL主機相同的服務器上。 – nightgaunt 2016-10-05 06:58:31
'show variables like'datadir';'查看[目錄](https://stackoverflow.com/a/31558673/673991)該文件將進入。用戶將需要[awesome責任](https:// 'GRANT FILE'特權的stackoverflow.com/a/39963216/673991)。 – 2017-10-14 21:34:43
。在這裏,我想你有一個文本文件中的查詢列表,你想在另一個文本文件的輸出。然後你可以使用這個。 [test_2是數據庫名稱]
COMMAND 1
mysql -vv -u root -p test_2 <query.txt> /root/results.txt 2>&1
哪裏-vv是用於詳細輸出。
如果你使用上面的語句作爲
COMMAND 2
mysql -vv -u root -p test_2 < query.txt 2>&1 > /root/results.txt
會重定向STDERR到正常位置(即在終端上)和標準輸出到輸出文件,該文件在我的情況是結果。 txt
第一個命令執行query.txt,直到遇到錯誤並停在那裏。
這就是重定向的工作原理。你可以試試
#ls key.pem asdf > /tmp/output_1 2>&1 /tmp/output_2
這裏key.pm文件存在,asdf不存在。所以,當你的貓的文件將得到以下
# cat /tmp/output_1
key.pem
#cat /tmp/output_2
ls: cannot access asdf: No such file or directory
但是,如果你修改了此前的說法與此
ls key.pem asdf > /tmp/output_1 > /tmp/output_2 2>&1
然後你得到的錯誤和輸出output_2
cat /tmp/output_2
ls: cannot access asdf: No such file or directory
key.pem
如果你可以通過你的機器訪問MySQL服務器,你應該能夠通過命令行轉儲查詢結果 - 以防你有一個可用的。 – miku 2011-06-13 16:11:17