将CSV数据导入SQL数据库

时间:2012-09-16 14:34:41

标签: mysql sql database csv

我有一个包含以下字段的表:

Name (varchar)
Ranking (int)
Age (int)
Favourite Court (varchar)

和像这样的CSV文件

name;age;current_ranking;favourite_court
sample1;22;5;Hard
sample2;21;6;Clay

我尝试使用以下代码导入MySQL:LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (name,age,current_ranking,favourite_court);,带或不带文件头(即名称;年龄...)。 它不起作用,字段搞砸了。为什么呢?

1 个答案:

答案 0 :(得分:3)

您需要命名表中的列,而不是文件中的列:

LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
(Name, Age, Ranking, `Favourite Court`)

另外,如LOAD DATA INFILE Syntax所述:

  

注意

     

如果您在Windows系统上生成了文本文件,则可能必须使用LINES TERMINATED BY '\r\n'正确读取文件,因为Windows程序通常使用两个字符作为行终止符。某些程序(例如写字板)在编写文件时可能会使用\r作为行终止符。要阅读此类文件,请使用LINES TERMINATED BY '\r'