MySQL Workbench构建ER图全过程(实体关系图)

 更新时间:2026年04月02日 15:45:32   作者:Jerry的技术博客  
本文介绍了MySQLWorkbench的安装、连接MySQL数据库、管理数据库、构建ER图等内容,通过实例演示了如何使用MySQLWorkbench进行数据库建模和管理

MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具,它是著名的数据库设计工具DBDesigne4的继任者,可以通过MySQL Workbench设计和创建新的数据库图示,管理数据库以及进行MySQL迁移。

一、安装MySQL Workbench

  • 1.1 安装MySQL Workbench

点击进入MySQL Workbench下载页面,下载操作系统对应版本的客户端,安装即可

  • 1.2 连接MySQL数据库

本文使用本地自建的MySQL数据库,本地MySQL数据库的创建及使用详建文档。启动本地MySQL,在Workbench首页建立数据库连接:

二、MySQL Workbench使用

  • 2.1 管理数据库

Workbench连接数据库后会生成连接记录:

点击该连接并输入数据库密码进入数据库管理界面,左侧导航栏是所建的数据库、表信息,选择特定表后可以对改表进行CRUD操作

也可以查看特定表的基本信息:

  • 2.2 通过MySQL Workbench构建ER(实体关系)图

除了能管理MySQL数据库外,Workbench也可以构建ER(实体关系图),点击进入数据库模型构建模块:

构建ER图的模型来源有三种:数据库逆向、导入外部.sql文件和手动创建数据模型。

数据库逆向

点击菜单栏 Database -> Reverse Engineer

选择刚创建的本地数据库连接,输入数据库用户密码,按引导执行相应操作即可:

最后生成ER模型所需的相关实体数据模型:

导入.sql文件

除了通过连接数据库逆向导入模型外,如果已经有数据表的建表DDL文件,也可以通过导入外部文件的方式导入数据模型:

创建包含DDL语句的.sql文件 test.sql:

CREATE TABLE `house` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `address` varchar(100) NOT NULL,
 `number` int(11) NOT NULL,
 `type` int(11) NOT NULL,
 `room` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE `sofa` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `type` int(11) NOT NULL,
 `size` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE `user` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(100) NOT NULL,
 `age` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

通过file -> import 导入test.sql文件:

数据模型导入后效果如下,此后可以创建Diagram:

手动创建

除了以上两种快捷创建数据实体模型的方式外,也可以手动创建数据模型:

数据实体模型构建后,可以在Diagram中构建实体间的关系图(ER图):

以上ER图中有两种一对多的关系,它们分别表示identitying relationships和non-identitying relationships。其中identitying relationships是指子表必须依赖主表存在,如电话号码实体,用实线表示;non-identitying relationships指子表不必依赖母表存在,如sofa实体,用虚线表示。

ER模型图创建后,可以导出为jpg、SVG等类型图片。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL 8.0用户和角色管理原理与用法详解

    MySQL 8.0用户和角色管理原理与用法详解

    这篇文章主要介绍了MySQL 8.0用户和角色管理,结合实例形式分析了MySQL 8.0用户和角色管理相关概念、功能、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Mysql中常用函数之分组,连接查询功能实现

    Mysql中常用函数之分组,连接查询功能实现

    在MySQL中,函数可以进行各种数据操作,如字符处理、数学计算和日期格式化等,单行函数处理单条数据记录,而分组函数则处理多条数据记录,本文给大家介绍Mysql中常用函数之分组,连接查询功能实现,感兴趣的朋友一起看看吧
    2024-10-10
  • MySQL如何创建视图

    MySQL如何创建视图

    这篇文章主要介绍了MySQL如何创建视图,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • 远程访问MySQL数据库的方法小结

    远程访问MySQL数据库的方法小结

    MySQL数据库不允许从远程访问如何办?本文提供了 3种解决思路方法
    2009-12-12
  • 101个MySQL优化技巧和提示

    101个MySQL优化技巧和提示

    人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。
    2014-02-02
  • MySQL安全快速的删除一张大表的正确方式

    MySQL安全快速的删除一张大表的正确方式

    生产环境中直接 DROP TABLE 一张千万级大表无异于自 杀,本文深度解析 InnoDB 删表的底层原理,提供一套无感删表的标准操作流程(SOP),助你在不影响业务的前提下,安全、快速地清理海量数据,需要的朋友可以参考下
    2026-03-03
  • MySQL 排序规则简介

    MySQL 排序规则简介

    排序规则是指对指定字符集下不同字符的比较规则,有明显的体征体现,如两个不同的字符集不能有相同的排序规则两个字符集有一个默认的排序规则有一些常用的命名规则,接下来通过本文详细介绍MySQL 排序规则,需要的朋友可以参考下
    2023-09-09
  • MySQL的几种分页方式,你知道几种方式

    MySQL的几种分页方式,你知道几种方式

    这篇文章主要介绍了MySQL的几种分页方式,需要的朋友可以参考下
    2023-06-06
  • 解决数据库有数据但查询出来的值为Null问题

    解决数据库有数据但查询出来的值为Null问题

    这篇文章主要介绍了解决数据库有数据但查询出来的值为Null问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • mysql主从服务器配置特殊问题

    mysql主从服务器配置特殊问题

    如果修改了主服务器的配置,记得删除从服务器上的master.info文件。否则从服务器使用的还是老配置,可能会导致错误。
    2010-12-12

最新评论