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

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

【问题讨论】:

    标签: mysql sql-server mysql-workbench ssms


    【解决方案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++ 等)完成相同的正则表达式替换。

      【讨论】:

        猜你喜欢
        • 2016-04-03
        • 2012-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多