开发者社区> 问答> 正文

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

有没有一种简单的方法可以从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 当有很多列需​​要用引号引起来时,或者结果中有引号需要转义时,它将变得混乱。

展开
收起
保持可爱mmm 2020-05-10 17:16:06 502 0
1 条回答
写回答
取消 提交回答
  • SELECT order_id,product_name,qty FROM orders WHERE foo = 'bar' INTO OUTFILE '/var/lib/mysql-files/orders.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; 使用此命令,列名将不会导出。

    还要注意,/var/lib/mysql-files/orders.csv它将在运行MySQL 的服务器上。运行MySQL进程的用户必须具有写入所选目录的权限,否则该命令将失败。

    如果要从远程服务器(尤其是托管或虚拟化的计算机,例如Heroku或Amazon RDS)将输出写入本地计算机,则此解决方案不适合。来源:stack overflow

    2020-05-10 17:17:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像