繁体   English   中英

将CSV数据导入SQL数据库

[英]Import CSV data into SQL database

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

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'; LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\n' (name,age,current_ranking,favourite_court); LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\n' (name,age,current_ranking,favourite_court); ,带有或不带有文件头(即name; age ...)。 它不起作用,字段被弄乱了。 为什么?

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

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

另外,如LOAD DATA INFILE语法中所述

注意

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM