在下面的命令中,如何输出要用逗号分隔的数据(即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
答案 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
如果您需要其他任何内容,请告诉我们。
此致
詹姆斯