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子查询

    全面讲解MySQL子查询

    子查询就是将一个查询结果作为判断条件或者作为一张虚拟表在这个结果的基础上进行另一个查询,本文就详细的介绍了MySQL子查询 ,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • MySQL集群高可用架构的两种使用小结

    MySQL集群高可用架构的两种使用小结

    本文介绍了MySQL的两种高可用解决方案:组复制(MGR)和Master High Availability(MHA),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • MySQL判断非空和非空函数

    MySQL判断非空和非空函数

    本文详细介绍了MySQL中使用ISNULL,ISNOTNULL,COALESCE,IFNULL和NULLIF函数判断和处理非空字段,具有一定的参考价值,感兴趣的可以了解一下
    2025-12-12
  • mysql 事务解析

    mysql 事务解析

    这篇文章主要给大家分享的是mysql事务解析,事务(transaction)是业务逻辑的一个基本的单元组成,下面文章围绕mysql事务的相关资料展开详细内容,需要的朋友可以参考一下希望对大家有所帮助
    2021-11-11
  • MySql 5.5.29绿色安装教程详解

    MySql 5.5.29绿色安装教程详解

    本文给大家介绍mysql5.5.29绿色安装教程,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • MyCat 垂直分片和水平拆分的实现

    MyCat 垂直分片和水平拆分的实现

    本文主要介绍了MyCat 垂直分片和水平拆分的实现,垂直分片将不同类型的表拆分到不同的数据库服务器上,水平拆分则将大表拆分到多个服务器上,下面就来具体介绍一下,感兴趣的可以了解一下
    2025-03-03
  • Mysql分组查询取最新的几种方案总结

    Mysql分组查询取最新的几种方案总结

    在写报表功能时遇到一个需要根据用户id分组查询最新一条钱包明细数据的需求,下面这篇文章主要给大家总结介绍了关于Mysql分组查询取最新的几种方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • MySQL安装与创建用户操作(新手入门指南)

    MySQL安装与创建用户操作(新手入门指南)

    这篇文章主要为大家介绍了MySQL安装与创建用户的使用讲解是非常适合小白新手的入门学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • MySQL数据,查询QPS,TPS数据方式

    MySQL数据,查询QPS,TPS数据方式

    文章详细介绍了查询MySQL数据库QPS和TPS的方法和工具,包括直接通过命令行、PerformanceSchema、mysqladmin、Prometheus、自动化脚本等,同时,还提供了优化建议,如索引优化、SQL调优、事务控制和配置调优
    2025-02-02
  • MySQL数据库SSL安全连接方式

    MySQL数据库SSL安全连接方式

    本文主要介绍了MySQL 8.0.43的SSL配置和使用方法,包括SSL证书的创建、SSL连接的配置、SSL用户的安全设置以及SSL登录的实现,SSL可以确保数据在传输过程中的机密性、完整性和身份验证,从而提高数据库的安全性
    2025-11-11

最新评论