[英]exporting data to CSV file using SELECT mysql query
通常,要从mysql服务器导出CSV报告,我会在服务器上连接并运行查询,将结果保存到文本文件中,然后通过指定使用竖线分隔字符分隔列将文件导入excel。
我需要在具有MEDIUMTEEXT
列类型的表上运行报告,该表类型包含逗号和换行符(\\ n)。
换行符和逗号符号破坏了表格的布局。
SELECT `number`,REPLACE(`description`, ',', ''), mr.`dateInserted` FROM
`mr` WHERE mr.dateInserted >= '2012-01-01' AND mr.dateInserted <= '2012-01-31'
我使用MySQL REPLACE
函数解决了逗号问题,但是,如何从结果中删除换行符呢?
您可以通过查询来执行此操作,这是一个示例。
SELECT
id,
name,
email
INTO
OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
FROM users WHERE 1
您也可以结合使用“视图”和“ mysqldump”。
Char(13)是回车符
Char(10)是换行符
尝试嵌套的替换函数以获取阻力最小的路径:)
SELECT
`number`,
REPLACE(REPLACE(REPLACE(`description`, ',', ''), CHAR(13),''), CHAR(10),''),
mr.`dateInserted`
FROM
`mr`
WHERE
mr.dateInserted >= '2012-01-01'
AND
mr.dateInserted <= '2012-01-31'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.