MySQL查询打印为CSV输出到标准输出

问题描述:

我想要做以下mysql -uuser -ppass -h remote.host.tld database < script.sqlMySQL查询打印为CSV输出到标准输出

其中script.sql包含以下

SELECT * 
FROM webrecord_wr25mfz_20101011_175524 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 

我想CSV输出定向到标准输出。原因是因为使用INTO OUTFILE 'blah.csv'运行此查询将将该文件保存在远程主机上。我想要保存在本地主机上的文件。

如果我可以只是将标准输出重定向到一个文件,这将是花花公子。

+0

[用于MySQL命令行结果更改输出格式,以CSV(的可能的复制http://*.com/questions/15640287/change-输出格式为MySQL的命令行结果到CSV) – bufh 2016-02-25 07:23:10

+1

不是一个笨蛋,这是一个关于路由到标准输出的问题。 – MichaelD 2017-02-17 21:13:47

尝试这种情况:mysql -uuser -ppass -h remote.host.tld database < script.sql 2> blah.csv

这将重定向标准错误

+1

这似乎并没有解决问题,这是如果你不指定OUTFILE你不能使用后续的“FIELDS TERMINATED BY”,所以你实际上得到CSV输出! – Michael 2017-09-21 19:36:24