mysql在csv中输出数据而不在查询中使用outfile

时间:2016-08-29 10:11:27

标签: mysql

在下面的命令中,如何输出要用逗号分隔的数据(即csv),我想要csv中的输出,但我不想使用into outfile。通过以下方式执行此操作: changuing查询,

  mysql -uroot -ppassword -h112.30.16.11 -e 'select * from Employee.conditions' > /home/tom/preweb/static/users/aa.com/output.csv

1 个答案:

答案 0 :(得分:1)

请尝试此操作,请注意每个列名称和分隔符必须单独添加。

mysql -uroot -ppassword -h112.30.16.11 -e 'SELECT CONCAT(col1, ',', col2, ',', col3) FROM agents;' > /home/tom/preweb/static/users/aa.com/output.csv

根据评论更新:

这可以通过动态使用预处理语句来实现,在这种情况下,表名应该添加到第一个参数中,其中'table-name'

mysql -uroot -ppassword -h112.30.16.11 -e "SET @VTable = 'table-name'; SET @VAllCols = CONCAT('SELECT CONCAT(',(SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ',\',\',') FROM information_schema.columns WHERE TABLE_NAME = @VTable GROUP BY table_name),') FROM ', @VTable, ';'); PREPARE stmt FROM @VAllCols; EXECUTE stmt; DEALLOCATE PREPARE stmt;" > /home/tom/preweb/static/users/aa.com/output.csv

如果您需要其他任何内容,请告诉我们。

此致

詹姆斯