如何将数据复制并粘贴到 MySQL Workbench 表中?

Posted

技术标签:

【中文标题】如何将数据复制并粘贴到 MySQL Workbench 表中?【英文标题】:How can I copy-and-paste Data into MySQL Workbench table? 【发布时间】:2015-06-03 18:17:31 【问题描述】:

多年来,我一直在使用mysql WorkbenchMS SQL Server Management Studio。我喜欢SSMS 的一件事是能够从 Excel 文档复制信息并将其粘贴到SSMS 的结果窗格中。是否有类似的方法可以将信息导入MySQL Workbench 的表中?这种方法既快速又简单。现在我为 MySQL 做的方式是我从 excel 导出到 CSV 文件,然后从 CSV 文件导入到 MySQL。谢谢!

【问题讨论】:

【参考方案1】:

无法仅使用剪贴板将整个 Excel 表插入 MySQL Workbench 中的结果集中。对于这项任务,您通过 CSV 文件的方法是最好的方法。不过,有一个选项可以复制/粘贴整行,这可能有助于进行小的更改。

【讨论】:

【参考方案2】:

带有 CSV 的第三方工具

如果您愿意使用第三方工具,您可以从 Excel 工作表 select-copy 或在文本编辑器中打开的 CSV 粘贴到 this tool 以生成 INSERT INTOUPDATE 语句。它还可以添加具有适当大小的VARCHARs 的CREATE TABLE 作为选项(在许多其他输出选项中)。您可以从该工具直接复制并粘贴到 mySQL Workbench 中的空白 SQL 页面中。

带有正则表达式的第三方工具

或者,您可以使用诸如https://regex101.com 之类的正则表达式工具来生成SQL 代码。例如,一个由制表符分隔的三字段 csv 可以通过这个正则表达式解码

^([^\t]*)\t([^\t]*)\t([^\t]*)$

然后在替换表达式中,这个

INSERT INTO `myschema`.`mytable` SET `first_field`='$1', `second_field`='$2', `third_field`= TRIM('$3'), `outbox_sent_text` = 'Friday, December 04, 2020 12:28 PM', `inbox_received_text` = 'Fri, 4 Dec 2020 15:43:08 +0000' AS `NEW` ON DUPLICATE KEY UPDATE id=id;

请注意,此替换使用更新后的 INSERT...ON DUPLICATE KEY UPDATE 方法,该方法将 replace the deprecated VALUES syntax

INSERTs 块复制到一个空的Workbench SQL 窗口中,然后运行查询。

第三方不行?没问题,也可以在本地工作

如果不允许通过网站发送此内容,则可以使用本地脚本或本地文本编辑工具(Notepad++ 等)完成相同的正则表达式替换。

【讨论】:

以上是关于如何将数据复制并粘贴到 MySQL Workbench 表中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在navicat中复制一条数据并粘贴

将数据复制并粘贴到 PhpMyAdmin

使用JSF(Primefaces)将数据从Excel复制并粘贴到Datatable

在tmux中如何复制文本并粘贴到某处?

如何将vim里的内容复制粘贴到vim之外的地方

如何复制mysql数据库到另一台电脑上?