【问题标题】:Export DataBase with MySQL Workbench with INSERT statements使用带有 INSERT 语句的 MySQL Workbench 导出数据库
【发布时间】:2023-12-27 17:01:01
【问题描述】:

我正在尝试导出我在 MySQL Workbench 中拥有的数据库,但在 .sql 文件上生成 INSERT 语句时遇到了麻烦。

我要导出数据,我对要导出的数据库进行逆向工程。然后,我去

文件/导出/转发工程师 SQL CREATE 脚本

在那里,我选择选项为表生成插入语句

结果只生成创建表的代码。

有没有办法为数据创建插入语句?

谢谢

【问题讨论】:

    标签: mysql mysql-workbench


    【解决方案1】:

    对于旧版本:

    打开 MySQL Workbench > 主页 > 管理导入/导出(右下角)/选择所需数据库 > 高级导出选项选项卡 > 完成插入 [选中] > 开始导出。


    对于 6.1 及更高版本,感谢 ryandlf:

    单击管理选项卡(模式旁边)并选择数据导出。

    【讨论】:

    • 只添加一个注释:要做到这一点,需要mysql作为服务运行。
    • 您也可以只选择单个表格。我想我会提到,因为这就是我想要的。
    • 在 6.1 中单击管理选项卡(在模式旁边)并选择数据导出。
    • 这是“管理”部分,但标签名为“管理”。
    • 在 8.0 版中,它位于“服务器/数据导出”选项卡下。
    【解决方案2】:

    我在较新版本中找到此选项时遇到了一些问题,因此对于 Mysql Workbench 6.3,请转到架构并输入您的连接:


    转到工具 -> 数据导出


    点击高级选项


    向下滚动并取消选中extended-inserts


    然后导出你想要的数据,你会看到结果文件是这样的:

    【讨论】:

      【解决方案3】:

      您可以在命令行中使用 mysqldump 工具:

      mysqldump your_database_name > script.sql
      

      这将创建一个包含数据库创建语句和插入语句的文件。

      有关 mysql 转储选项的更多信息:https://dev.mysql.com/doc/refman/5.7/en/mysqldump-sql-format.html

      【讨论】:

      • 太快了,超级棒。非常感谢
      【解决方案4】:

      在 MySQL Workbench 6.1.

      我不得不点击插入面板中的Apply changes 按钮(仅一次,因为两次,MWB 崩溃...)。

      您必须为每张桌子这样做。

      然后导出您的架构:

      检查Generate INSERT statements for table

      没关系!

      【讨论】:

        【解决方案5】:

        如果您只想导出单个表或某个表中的数据子集,您可以直接在结果窗口中进行:

        1. 点击导出按钮:

        2. 将另存为类型更改为“SQL 插入语句”

        【讨论】:

          【解决方案6】:

          转到菜单服务器并单击数据导出。您可以在此处选择表并从下拉列表中选择“转储结构和数据”选项。

          【讨论】:

            【解决方案7】:

            最新版本的MySql Workbench

            1. 点击顶部菜单栏中的服务器菜单
            2. 选择“数据导出”子菜单
            3. 它将打开“对象选择”窗口,您可以在其中选择具有所需表的适当数据库
            4. 在左侧选择数据库后,所有表格都将显示在右侧,并带有单选按钮
            5. 选择所需表格前面的单选按钮
            6. 就在表选择下方,您可以看到一个下拉菜单,用于选择仅转储结构或仅数据或结构和数据
            7. 如果您还需要存储过程或事件,请在要导出的对象下勾选该框。如果您不需要这些,请取消勾选这些
            8. 在导出选项下更改导出文件名和路径
            9. 如果您想在导入转储文件后创建架构,请勾选包含创建架构
            10. 按右上角的开始导出按钮。成功后,摘要将显示在“导出进度”选项卡中

            【讨论】: