大量CSV数据到一个数据库中的新MySQL表中

时间:2017-05-23 14:55:05

标签: mysql database csv phpmyadmin

我遇到了问题,经过几个小时的研究后我才想死。

有没有办法将大量CSV数据导入一个MySQL数据库,但是使用CSV数据的文件名创建新表?

示例:如果我将data1.csv导入db,则该表应命名为data1,其中包含来自data1.csv的所有数据。

感谢您的建议和解答。

1 个答案:

答案 0 :(得分:1)

没有内置的工具/方法/命令/查询来完成您在MySQL中所需的内容。

需要的是2个部分。

第一。当然是你的MySQL数据库,其中将创建表。

第二。一些可以与您的数据库交互的第三方程序。例如。 (Java,JavaScript,Python,甚至是Unix shell脚本)

以下是需要的sudo示例。

这个程序必须做的事情相对简单。

需要几个输入:
数据库IP,用户名,密码(这些可以是传递到您的程序的参数,或者为了简单测试直接硬编码到程序中

下一个输入将是您的文件名。 data1.csv

使用输入程序将收集'data1'名称以及data1.csv文件的第一行以命名每列。

程序收集此信息后,可以连接到数据库并运行CREATE TABLE TableName (RowName1 VARCHAR(255), RowName2 VARCHAR(255), ect...)

的MySQL语句

最后,它可以执行MySQL命令将* .csv文件导入到新创建的表中。例如

LOAD DATA LOCAL INFILE 'C:/Stuff/csvFiles/Data1.csv' 
INTO TABLE `SchemaName`.`Data1` 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'

希望这有助于清除您的选择方案。