2009-07-02 66 views
1

有沒有辦法讓.sql文件中的OUTFILE語句指向.sql文件本身的當前工作目錄的路徑,而無需手動指定絕對路徑名?現在,默認位置是我正在使用的模式的數據目錄(即C:\ progra〜1 \ mysql \ etc \ etc)。Mysql outfile到當前工作目錄?

謝謝!

回答

0

似乎腳本將是你最好的選擇。使用Perl或PHP在cwd中使用outfile生成查詢。

-1

不是直接的,但通過在命令行中使用mysql可以獲得類似的功能。

首先,一些背景:LOAD DATA INFILE語句具有LOCAL變種,LOAD LOCAL DATA INFILE,它允許你從本地文件系統上的文件讀取數據;沒有LOCAL它從服務器上的指定位置讀取。

不幸的是,SELECT INTO OUTFILE語句總是寫入到指定的位置的服務器的文件系統(其可以包括服務器配置的安裝件例如NFS或CIFS共享)上;沒有相應的LOCAL

但是,您可以通過使用mysql客戶端批量模式近似這樣的功能:

mysql -e 'SELECT * FROM db1.tbl1' -B > output.tsv 

-B選項使語句在批處理模式下運行,所以查詢結果打印在標籤有限的方式,沒有邊界。使用> somefile.txt可讓您將該輸出重定向到指定的文件,因此您可以得到與您想要的內容相同的內容,而無需使用SELECT INTO OUTFILEFIELDSLINES選項,但足夠接近!

+0

在mysql服務器上的OUTFILE路徑可以使用NFS/CIFS等適當的方案作爲本地文件路徑(磁盤)導出和裝載 – 2013-09-15 17:03:30