有没有办法让.sql文件中的OUTFILE语句指向.sql文件本身的当前工作目录的路径,而无需手动指定绝对路径名?现在,默认位置是我正在使用的模式的数据目录(即C:\ progra〜1 \ mysql \ etc \ etc)。Mysql outfile到当前工作目录?
谢谢!
有没有办法让.sql文件中的OUTFILE语句指向.sql文件本身的当前工作目录的路径,而无需手动指定绝对路径名?现在,默认位置是我正在使用的模式的数据目录(即C:\ progra〜1 \ mysql \ etc \ etc)。Mysql outfile到当前工作目录?
谢谢!
似乎脚本将是你最好的选择。使用Perl或PHP在cwd中使用outfile生成查询。
不是直接的,但通过在命令行中使用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 OUTFILE
的FIELDS
或LINES
选项,但足够接近!
在mysql服务器上的OUTFILE路径可以使用NFS/CIFS等适当的方案作为本地文件路径(磁盘)导出和装载 – 2013-09-15 17:03:30