将MySQL查询转换为CSV文件格式

18 浏览
0 Comments

将MySQL查询转换为CSV文件格式

这个问题已经有了答案

如何在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

当需要用引号包围很多列或结果中有需要转义的引号时,这会变得很混乱。

admin 更改状态以发布 2023年5月21日
0
0 Comments

你可以使用"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 '"'-这将添加双引号。

0