使用具有换行符的列在MySQL中导出表

时间:2010-12-28 02:01:20

标签: mysql sql into-outfile

我对SQL很缺乏经验,所以对我的问题应该有一个简单的解决方案: 我在一个以逗号分隔的文件中选择一个表,而TEXT类型的列有换行符,所以当我尝试将我的csv导入Excel时,它会在换行符后面的每一段文本中创建单独的行。

这是我的问题:

SELECT * FROM `db`.`table` INTO OUTFILE 'c:\\result.txt' FIELDS TERMINATED BY ','
ESCAPED BY '\\' OPTIONALLY ENCLOSED BY '"'  LINES TERMINATED BY '\r\n' ;

然后在Excel中我导入为逗号分隔文件,这会导致包含带换行符的文本的列出现问题。

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:4)

或许用双引号括起来。

SELECT * FROM db.table INTO OUTFILE 'c:/result.txt'  FIELDS TERMINATED BY ',' ESCAPED BY '\\' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

答案 1 :(得分:1)

Novikov是正确的,但您也可以在导出时转义新行字符。

SELECT REPLACE(`fieldname1`,'\n','\\n'),`fieldname2` FROM db.table INTO OUTFILE 'c:/result.txt'  FIELDS TERMINATED BY ',' ESCAPED BY '\\' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

然后,这将用文本字符串'\ n'替换所有新行字符。但这可能不是您想要的输出。

DC