将多个 CSV 文件加载到 MYSQL 中的单个表中 [重复]

Posted

技术标签:

【中文标题】将多个 CSV 文件加载到 MYSQL 中的单个表中 [重复]【英文标题】:LOADING MULTIPLE CSV FILE INTO SINGLE TABLE IN MYSQL [duplicate] 【发布时间】:2015-11-22 21:46:36 【问题描述】:

我的电脑中有 31 个 csv 文件。我想将所有这些 csv 文件加载到 mysql 中的单个表中。有没有办法使用 sql 查询来做到这一点?

【问题讨论】:

这里:***.com/questions/6552042/… 或这里:***.com/questions/8538995/… 【参考方案1】:

使用加载数据文件

LOAD DATA INFILE 'c:/part/yourfile.csv' 
INTO TABLE NameOfTable
FIELDS TERMINATED BY ';'    -- because CSV
ENCLOSED BY '"'             -- I don't know your file
LINES TERMINATED BY '\n'    -- Probably this
IGNORE 1 ROWS;              -- If it has to be

再一次为你所有的 CSV

【讨论】:

【参考方案2】:

假设你的电脑是 windows 电脑,如果是,那么对每个文件一个一个地使用下面的命令-

LOAD DATA INFILE 'c:\\temp\\your_file.csv' 
INTO TABLE table_name 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES;

如果您没有标题行,请删除“IGNORE 1 LINES”。

如果您使用的是 linux 或 mac,那么语法会有一些变化。

【讨论】:

【参考方案3】:

尝试先将所有文件分类到单个 csv 中

cat file1.csv file2.csv > outputfile.csv 要么 cat *.csv > outputfile.csv

然后使用LOAD DATA INFILE 导入一次 outputfile.csv

【讨论】:

以上是关于将多个 CSV 文件加载到 MYSQL 中的单个表中 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL:将多个表导出到 CSV 文件

MySQL 将多个表中的特定字段导出到一个 csv 文件中?创建表输出

mysql将数据加载到多个表和循环中

如何将单个工作表中的多行(在 excel 中)转换为多个 CSV 文件

使用 Perl,如何在保持参照完整性的同时从单个表加载多个表?

使用 Spark 将多个文件中的列合并到单个文件中