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

How can I copy-and-paste Data into MySQL Workbench table?

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

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

带有 CSV 的第三方工具

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

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

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

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

然后在替换表达式中,this

INSERT INTO `myschema`.`mytable` SET `first_field`='', `second_field`='', `third_field`= TRIM(''), `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 window 和 运行 查询。

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

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