mysql - 将大量 CSV 数据存入一个数据库中的新 MySQL 表中

标签 mysql database csv phpmyadmin

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

有没有一种方法可以将大量 CSV 数据导入到一个 MySQL 数据库中,同时使用 CSV 数据的文件名创建新表?

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

感谢您的建议和解答。

最佳答案

没有内置的工具/方法/命令/查询来单独在 MySQL 中完成您想要的事情。

需要 2 部分。

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

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

以下是所需内容的 sudo 示例。

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

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

下一个输入将是您的文件名。数据1.csv

使用输入,程序将获取“data1”名称以及 data1.csv 文件的第一行来命名每列。

一旦程序收集到此信息,它就可以连接到数据库并运行CREATE TABLE TableName(RowName1 VARCHAR(255)、RowName2 VARCHAR(255)等...)的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'

希望这有助于澄清您的选择和方法。

关于mysql - 将大量 CSV 数据存入一个数据库中的新 MySQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44138310/

相关文章:

mysql - -C 和压缩 mysqldump 之间有什么区别?

php - 如何根据点击量、喜欢、不喜欢和时间创建流行度参数

mysql - 个人和全局消息数据库设计

php - 更新数据库中的多行或记录

python - append Python的内存效率.txt

angularjs - 在 nodejs 中从服务器下载 .zip 文件

php - mysql:复制表中的某些行,更改重复行中的信息

mysql - 在具有多列的一个查询中选择两个查询

php - Zend_Db_Select 如何从子查询中选择(派生表)

java - 从 Postgres 数据库触发器调用 Java 应用程序