Py学习  »  DATABASE

如何从MySQL命令行导出CSV文件

jasw • 5 年前 • 1545 次点击  

我遇到的问题是我正在使用的I n to-OUTFILE语法返回了一个与“\n”相关的错误。下面是语法示例:

SELECT *  
FROM tablename  
WHERE work_complete = 'Yes' 
INTO OUTFILE 'C:\file path for the file to be exported to\file_name.csv'   
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY "''"   
ESCAPED BY '\'  
LINES TERMINATED BY '\n'; 

我花了一些时间研究这个,但没有任何运气,我甚至尝试使用

LINES TERMINATED BY '\r\n'

但错误还是一样

ERROR: Unknown command '\''.
   ->     LINES TERMINATED BY '\r\n';

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55600
 
1545 次点击  
文章 [ 2 ]  |  最新文章 5 年前
GMB
Reply   •   1 楼
GMB    5 年前

问题不在 LINES TERMINATED BY 但是在 ESCAPED BY

这:

ESCAPED BY '\'  

你需要避开反斜杠,就像这样:

ESCAPED BY '\\'  

或者,您也可以使用 '\b' :

ESCAPED BY '\b'  

另一个问题是 OPTIONALLY ENCLOSED 只接受一个字符,同时给它两个单引号。

在您的查询中:

SELECT *  FROM tablename WHERE work_complete = 'Yes' 
INTO OUTFILE 'C:\file path for the file to be exported to\file_name.csv'   
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY "'" ESCAPED BY '\\'  
LINES TERMINATED BY '\n'
nbk
Reply   •   2 楼
nbk    5 年前

用这个

SELECT *  
FROM tablename  
#WHERE work_complete = 'Yes' 
INTO OUTFILE 'C:\file path for the file to be exported to\file_name.csv'   
FIELDS ENCLOSED BY '"' 
TERMINATED BY ';' 
ESCAPED BY '"' 
LINES TERMINATED BY '\r\n';

我使用了一些其他语法,并删除了mysql不喜欢的