CSV到MySQl导入

时间:2014-06-26 10:06:57

标签: java mysql sql

我需要在适当的列中将csv插入到mysql数据库中。

假设csv有标题,然后是数据 A B C

和Mysql具有列C A B的表

我需要知道将csv数据插入mysql表的最佳方法

3 个答案:

答案 0 :(得分:3)

使用OpenCsv.Jar等工具

此处给出了示例 - http://opencsv.sourceforge.net/

它处理大量数据。

答案 1 :(得分:1)

我相信你可以使用以下mysql语法:

"INSERT INTO users (username, password, email, firstName, lastName, createDate) VALUES ('test', 'test', 'test', 'test', 'test', 'test')"

所以你可以使用标题和它所属的列来构建你的查询,就像这样(伪代码):

"Insert into table (header1, header2, header3) values (column1, column2, column3)"

无论数据在表中的顺序如何,都会将数据插入到正确的列中。

答案 2 :(得分:1)

要以正确的顺序将CSV数据加载到MySQL数据库中,无论文件中的列顺序如何,请执行以下操作:

LOAD DATA INFILE path/to/datafile.csv INTO TABLE tablename (colA, colB, colC)

通常,列列表(colA, colB, colC)是可选的。但是,当(在此问题中)CSV文件和数据库表之间的列顺序不同时,请按照您希望它们插入表中的顺序排列列名,如下所示:

LOAD DATA INFILE path/to/datafile.csv INTO TABLE tablename (colC, colB, colA)

要查看将CSV数据加载到mysql的其他选项,请查看http://dev.mysql.com/doc/refman/5.1/en/load-data.html