如何将带有引号的属性添加到MySQL请求设计中以输出CSV

如何将带有引号的属性添加到MySQL请求设计中以输出CSV,mysql,csv,quotes,double-quotes,export-to-csv,Mysql,Csv,Quotes,Double Quotes,Export To Csv,我正在尝试将SQL请求输出到CSV文件中,但我无法添加两个选项来帮助我进行设置。以下是请求中运行良好的部分: mysql --host=localhost --user=root --password=pass --quick -e 'SELECT * FROM DB.TABLE' > '/stupidpath withaspace/stuff/myrep/export.csv' 我想将这两个选项添加到此请求中,但我没有得到以下报价: FIELDS TERMINATED BY ','

我正在尝试将SQL请求输出到CSV文件中,但我无法添加两个选项来帮助我进行设置。以下是请求中运行良好的部分:

mysql --host=localhost --user=root --password=pass --quick -e 'SELECT * FROM DB.TABLE' > '/stupidpath withaspace/stuff/myrep/export.csv' 
我想将这两个选项添加到此请求中,但我没有得到以下报价:

FIELDS TERMINATED BY ','


如何集成此功能?

最简单的方法可能是将导出的SQL放在一个单独的文件中,然后将其输入到
mysql
。SQL文件
exporter.SQL
,如下所示:

SELECT * INTO OUTFILE '/stupidpath withaspace/stuff/myrep/export.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
FROM DB.TABLE;
然后使用以下命令运行它:

mysql --host=localhost --user=root --password=pass --quick < exporter.sql
mysql--host=localhost--user=root--password=pass--quick

将SQL放在一个单独的文件中,可以避免尝试将引号从shell发送到某物中的常见转义和引用问题。

Thx我已经查看了OUTFILE属性,但它只工作一次,我需要每天在列表中运行一次此查询(这将是一个php cron作业)@krifur:那么,shell和PHP之间的冲突会导致更多的引用问题:)您可以使用PHP中的Herdeoc执行上述操作,它将进入
mysql
标准输入,或者让您的PHP cron作业将SQL写入临时文件,然后在完成后删除临时文件。
mysql --host=localhost --user=root --password=pass --quick < exporter.sql