繁体   English   中英

CSV 至 MySQl 导入

[英]CSV to MySQl Import

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

假设 csv 有 header 然后数据 AB C

和 Mysql 有包含列 C AB 的表

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

使用OpenCsv.Jar之类的工具

此处提供示例-http://opencsv.sourceforge.net/

它处理大量数据。

我相信您可以对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)"

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

要将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

让我们使用此工具将 CSV 转换为在线插入 SQL根据您的规则生成此 SQL。

  1. 粘贴您的 CSV 数据,例如:
     A,B,C 1,2,3 4,5,6
  2. 拖放列以将“ABC”更改为“CBA”: 编辑
  3. 滚动到“表格生成器”面板
  4. 复制或下载 SQL 查询,然后在 MySQL 客户端上执行它们。
     INSERT INTO tableName (C,B,A) VALUES ('3', '2', '1'), ('6', '5', '4');

暂无
暂无

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

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