将 CSV 文件加载到 MySQL Workbench

Posted

技术标签:

【中文标题】将 CSV 文件加载到 MySQL Workbench【英文标题】:Loading CSV files into MySQL Workbench 【发布时间】:2011-12-29 21:31:09 【问题描述】:

我有很多 excel/CSV 文件需要加载到我在 mysql Workbench 中的数据库中(我在 Mac OS X 上)。我四处寻找一个好的演练或教程,但我没有看到任何清楚地解释如何将 CSV 加载到 MySQL Workbench 中的内容......谁能帮忙?

【问题讨论】:

查看***.com/questions/8031193/… 【参考方案1】:

您是否尝试将 csv 文件加载到 MySQL 表中?您可以使用LOAD DATA LOCAL INFILE 命令轻松做到这一点。

例子:

LOAD DATA LOCAL INFILE '/data.csv' INTO TABLE my_table FIELDS TERMINATED BY ','

您应该能够从 MySQL 的任何界面输入该命令。我假设工作台可以让您执行 sql 查询。

【讨论】:

谢谢!该声明有效,但一次只加载一行......工作台的任何经验丰富的帮助将不胜感激,但我会试一试 它可能与您尝试导入的文件上的行分隔符有关。尝试将以下任一内容添加到您的查询 LINES TERMINATED BY '\r\n'LINES TERMINATED BY '\r'。如果您知道行分隔符,只需添加 LINES TERMINATED BY '<character>' 对我来说是\r。谢谢你。【参考方案2】:

必须是Workbench吗?

你可以使用其他 MySQL bins 吗?

这是一个例子: 创建数据库

创建表

load data local infile '/path/whatever.csv' into table dbName.tableName fields terminated by ',' enclosed by '"' lines terminated by '\n';

【讨论】:

MySQL 工作台对我来说似乎是最简单的选择。我愿意接受任何建议吗? 如果您正在寻找 GUI,那么 phpMyAdmin 可以进行 CSV 导入。在导入屏幕上,您可以指定文件的格式并定义终止字符。【参考方案3】:

作为参考,我想在 Windows 上执行此操作并使用 HeidiSQL 完成任务。这很简单,我使用了工具 -> 导入 CSV 文件,第一次尝试就成功了。

【讨论】:

谢谢你,香蕉鱼。我以前知道LOAD DATA LOCAL INFILE,但是HeidiSQL 是一个非常好的选择!【参考方案4】:

或者您可以使用 Excel 使用要加载的文件列表生成大量 LOAD DATA INFILE 语句。

说,你可以:

    将文件名放在Excel的A列中

    在 B1 单元格中放置这样的公式:

    ="LOAD DATA LOCAL INFILE 'path/"&A1&"' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';"

    根据需要将 B1 单元格复制并粘贴到 B 列单元格中。

因此,您将在 Excel 的 B 列中拥有 LOAD DATA 语句,并且可以将它们复制并粘贴到 mysql 命令行中。

也许对于脚本的高级用户来说不太方便,但对于 MS Excel 的高级用户来说可能有意义。

【讨论】:

【参考方案5】:

这对我来说很复杂,但这是我所做的:

我安装了 PHPmyAdmin,因此我导出为 CSV,其中 , 分隔," 作为转义字符。 PHPmyAdmin 无法将" 处理为转义,因此我用\" 找到/替换了"" 的所有实例并且它起作用了。苏尔特!

【讨论】:

【参考方案6】:

在 Numbers iWork 9 中打开 Excel 文件并导出为 CSV。使用 'CSV with LOAD DATA' 选项导入 MySQL 工作正常。

【讨论】:

以上是关于将 CSV 文件加载到 MySQL Workbench的主要内容,如果未能解决你的问题,请参考以下文章

通过验证将 csv 文件内容加载到 mysql 表中

使用 csv 格式和 python 将日志文件数据加载到 mysql 时出错

使用查询将数据从 EXCEL/CSV 加载到 MYSQL?

将大型 csv 加载到 mysql 等 RDB 的推荐方法

将CSV加载到MySQL中

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