MySQL 工作台  / 第9章数据库设计与建模  / 9.4 正向和逆向工程  / 9.4.2 逆向工程  /  9.4.2.1 使用创建脚本进行逆向工程

9.4.2.1 使用创建脚本进行逆向工程

要使用创建脚本对数据库进行逆向工程,请执行以下操作之一:

  • 在主屏幕上,从边栏中选择模型视图,单击模型旁边的 ( > ) ,然后单击 逆向工程 MySQL 创建脚本

  • 选择一个模型并打开其模型选项卡后,单击 文件导入,然后从菜单中对 MySQL 进行逆向工程并创建脚本。

可以从 SQL 脚本文件导入表、视图、例程、例程组、索引、键和约束。使用 SQL 脚本导入的对象可以像其他对象一样在 MySQL Workbench 中进行操作。下图显示了可用于此操作的输入和选项的示例。

图 9.46 逆向工程 SQL 脚本:输入

内容在周围的文字中描述。

  • 选择 SQL 脚本文件:打开一个默认文件类型设置为 SQL 脚本文件的文件,该文件的扩展名为sql.

  • 文件编码:默认为 UTF8。

  • 将导入的对象放在图表上:还在 MySQL Workbench 中创建一个 EER 图。

    笔记

    导入大量 (1000) 个对象可能无法创建 EER 图,而是会发出资源警告,其中包含文本“为自动放置选择了太多对象。选择更少的元素来创建 EER 图。” 在这种情况下,请在禁用此选项的情况下执行逆向工程向导,手动创建 EER 图,然后使用 EER 图目录查看器导入 1000 多个对象。

如果您的脚本创建了一个数据库,MySQL Workbench 会 在打开的MySQL 模型选项卡中创建一个新的物理模式区域 。

单击执行以对 SQL 脚本进行反向工程、验证其结果,并可选择将对象放置在新的 EER 图中。下图显示了已完成操作的示例。

图 9.47 逆向工程 SQL 脚本:执行

内容在周围的文字中描述。

单击Next查看结果摘要,然后单击Finish关闭向导。

图 9.48 反向工程 SQL 脚本:结果

内容在周围的文字中描述。

在退出 MySQL Workbench 之前,保存模式。单击 文件,然后从菜单中单击保存 ,将反向工程数据库保存为.mwb扩展名为 MySQL Workbench 的文件。

有关 sakila数据库逆向工程的教程,请参阅 第 9.3.3 节,“导入数据定义 SQL 脚本”

创建 DDL 脚本

您可以通过执行命令 来创建数据定义 (DDL) 脚本 。使用该选项可确保脚本仅包含 DDL 语句。但是,如果您正在使用还包含 DML 语句的脚本,则无需删除它们;他们将被忽略。 mysqldump db_name --no-data > script_file.sql--no-data

笔记

如果您计划在 MySQL Workbench 中重新设计数据库然后导出更改,请务必保留原始 DDL 脚本的副本。您将需要原始脚本来创建 ALTER脚本。有关详细信息,请参阅 第 9.4.1.1.2 节,“更改模式”

如果您希望创建数据库及其所有对象, 请使用带有mysqldump--databases的选项 。如果脚本文件中没有语句,则必须将数据库对象导入现有模式,或者如果没有模式,则会创建一个新的未命名模式。 CREATE DATABASE db_name