我有一些列想要插入一个现有的表,有些列的内容如下“how,using,list,file”,每列用“,”分隔,所以如何使用load data infile导入它们?
答案 0 :(得分:0)
你没有指出你正在使用哪个数据库,所以我会回答你的mysql问题。 请参阅this。
如果此类文件中的行由回车符/换行符对终止,则此处显示的语句说明了用于加载文件的字段和行处理选项:
LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
在页面的下方:
字段值中ENCLOSED BY字符的出现通过在其前面加上ESCAPED BY字符进行转义。另请注意,如果指定一个空的ESCAPED BY值,则可能会无意中生成LOAD DATA INFILE无法正确读取的输出。例如,如果转义字符为空,则刚刚显示的前面的输出将显示如下。注意第四行中的第二个字段在引号后面包含一个逗号,它(错误地)似乎终止该字段:
1,"a string",100.20 2,"a string containing a , comma",102.20 3,"a string containing a " quote",102.20 4,"a string containing a ", quote and comma",102.20
因此,如果您在列中未转义""
这些数据无法在一般情况下导入,您将使用正确的ENCLOSED BY
字符导出数据,或者将文件预处理为首先逃离"
。
如果您的列中只有,
,那么很容易,您必须使用ENCLOSED BY
和TERMINATED BY
。