如何将Excel文件导入MySQL Workbench?

13

我已经通过谷歌搜索,但所有的示例都是基于旧版的 Excel。我的当前版本 Excel 上没有在数据选项卡上找到 MySQL 选项。我尝试通过其他源、SQL Server 进行导入,但无法通过服务器名称进行连接。我不知道为什么或者我是否输入了错误的服务器名称。它应该是除 localhost 以外的其他内容吗?

3个回答

25

在MySQL Workbench中无法导入Excel文件,这是不可能的,因为需要解析Excel文件。相反,请将Excel文件导出为CSV格式,然后在MySQL Workbench中导入CSV文件。

通过MySQL Workbench将CSV导入MySQL很容易。从模式树中打开表数据导入向导:

输入图像描述

它允许您导入CSV和JSON数据。在下一页上选择您的文件,设置导入选项(例如分隔符和引号字符),然后让它运行。


1
我理解了,我已经有它的CSV格式了。 我想我的问题是,如何将CSV导入MySQL。 我仍然不明白如何做到这一点。 - Piper Ramirez

13
你可以将Excel数据复制并粘贴到Mysql Workbench的结果网格中。
只需在Excel表格中选择要插入数据库的所有行和列,然后复制它们。

enter image description here

复制包含公式的单元格是可行的,但请注意:

  • 禁用数字千位分隔符;
  • 将数字小数点改为点;
  • 避免空单元格,因为空单元格会触发列号不匹配的错误。

复制单元格后,在Mysql Workbench中右键单击您的表并选择“选择行”,您的查询结果将显示在结果网格中。

enter image description here

在结果网格中的空行中右键单击,并从菜单中选择“粘贴行”。

enter image description here

然后点击“应用”并确认插入查询。如果一切正常,您的数据将被插入。否则MySQL错误(约束违规等)会显示。这些错误可以帮助您调试出错的原因以及需要更正Excel数据的位置。
对我来说,这很有效,我还没有遇到任何编码问题。
但是,如果您要粘贴大型数据集,则可能会出现性能问题。

最简单的方法!谢谢。 - अक्षय परूळेकर
你能发一下你的Excel表格截图吗?在复制和粘贴之前,我们需要在Excel中创建唯一索引列吗?这个答案不完整。 - posfan12
1
@posfan12 我更新了我的回答。你不需要在Excel中创建任何内容,只需复制原始单元格值即可。 - Christophe Weis
问题在于我从Excel复制的并不是每个单元格都有内容。由于某种原因,如果您粘贴没有任何内容的单元格,Workbench会出现问题。一旦我弄清楚了这一点,事情就进展得更加顺利了。 - posfan12

0

最简单的选择是使用专用应用程序,如Excel2MySQL。对于嵌入引号或特殊字符等复杂情况,它更快且更彻底。特别是如果您有数百万条记录要导入,因为复制/粘贴有限制。

我还推荐HeidiSQL而不是MySQL Workbench,因为它也更直观。我使用Workbench进行服务器管理任务,使用HeidiSQL进行数据库和表管理。

enter image description here


由于软件未经许可,一些记录加载为空白。 - Galled
Excel2MySQL不是免费的,但是购买许可证值得花费,以避免数据转换问题和头痛。 - panofish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接