【问题标题】:MySQL Query to CSV [duplicate]MySQL查询到CSV [重复]
【发布时间】:2014-02-02 03:25:31
【问题描述】:

有没有一种简单的方法可以从linux 命令行运行MySQL 查询并以csv 格式输出结果?

这是我现在正在做的事情:

mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/        /,/g' | tee
list.csv select id, concat("\"",name,"\"") as name from students EOQ

如果有很多列需​​要用引号括起来,或者结果中有引号需要转义,就会变得混乱。

【问题讨论】:

  • 看看SELECT * from MyTable into OUTFILE。 MySQL 参考在 this page
  • mysqldump 与 --tab 应该是这里的简单方法,没有额外的脚本要求。我详细写了3 ways to convert MySQL to CSV

标签: mysql sql csv


【解决方案1】:

您可以使用“INTO OUTFILE

SELECT a,b,c FROM my_table INTO OUTFILE '/ca.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; 

这将创建一个文件“ca.csv”,每行之间有一个逗号。还有一些其他选项,例如转义字段值,但这应该足以让您入门。

整件事:

mysql -u uid -ppwd -D dbname -e "SELECT a,b,c FROM my_table INTO OUTFILE '/ca.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';"

编辑 :- 供您查看的链接:SELECT INTO

要转义字段,您需要添加 FIELDS ESCAPED BY '"' - 这将添加双引号

【讨论】:

    猜你喜欢
    • 2013-05-13
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多