如何以csv格式输出MySQL查询结果(到屏幕,而不是文件)?

Rya*_*anW 26 mysql csv

我正在尝试使用mysql命令行工具以逗号分隔格式输出查询结果.我的mysql用户无权使用此问题中引用的"INTO OUTFILE"选项:

如何以CSV格式输出MySQL查询结果?

我也知道分别在html和xml中格式化输出的-H和-X选项,但是没有办法直接将csv格式输出到屏幕上吗?

我发现这个方法使用sed - http://tlug.dnho.net/?q=node/209.但是,我很想找到一个直接的mysql解决方案.

有任何想法吗?

Rya*_*anW 18

我最后只是将制表符分隔输出并将其复制粘贴到电子表格,然后将其导出到csv.还意识到我可以使用concat或concat_ws函数来完成这项工作,并且下次会这样做.

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat-ws

SELECT CONCAT_WS(',',field1,field2,field3)FROM表;

  • 您可能希望使用"--silent"选项来删除表格输出.请参阅http://dev.mysql.com/doc/refman/5.5/en/mysql-command-options.html#option_mysql_silent (3认同)

小智 9

将答案通过管道传递给tr,如下所示:

mysql <blah blah> -B | tr '\t' ','
Run Code Online (Sandbox Code Playgroud)