我需要在适当的列中将csv插入到mysql数据库中。
假设csv有标题,然后是数据 A B C
和Mysql具有列C A B的表
我需要知道将csv数据插入mysql表的最佳方法
答案 0 :(得分:3)
答案 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