本篇内容:对Mysql Workbench的常规使用学习
一、知识储备
1. Workbench 可以做什么
是mysql数据库可视化管理的一款免费工具,除了平常的通过sql语句,进行创建数据库表、增删改查外,还可以利用其进行建模创建数据库表。通过创建EER图,将不同的表根据关系键进行关联。
2. 常见字符
① 表基础部分
-
Table Name: 表名
-
Schema: 等价库名
-
Column Name: 表字段
-
Datatype: 表字段类型
-
PK: Primary Key 是否是主键
-
NN: Not Null 不可以为空
-
UQ: Unique 用来限制某个字段的值
不能重复
,唯一约束允许出现多个空值;同一个表中,可以有多个唯一约束,也可以多个列组合的值唯一。当给表创建唯一约束时,mysql默认创建一个唯一索引
-
B: Binary 采用左对齐方式存储,即小于指定长度时,会在右边填充0值。
-
UN: Unsigned “无符号”的意思
-
ZF: Zero Fill 为非负数,用此类型可以增加数据长度
-
AI: Auto Increment 自增长
-
G: Generated mysql5.7首次出现的字段类型Json和Generated。简单来说 ,其是一个虚拟字段,值是不可更新的,值来源于其他字段或字段间计算或是转化而来,支持创建索引。
-
Default/Expression: 缺省值
② 进阶部分
-
Indexs: 索引,
- 优势:
-
- 提高数据检索的效率,降低数据库的IO成本
-
- 通过索引列对数据进行排序,降低数据排序的成本,降低cpu的消耗
-
- 劣势
-
- 索引需要占用磁盘空间,除了数据表占数据空间外,每一个索引还要占一定的物理空间,如果有大量的索引,索引文件可能比数据文件更快达到最大文件值
-
- 当对表中的数据进行增、删、改的时候,索引也要动态维护,降低了数据维护速度。
-
- 优势:
-
Foreign Keys: 外键
- 外键是某个表中的一列,它包含在另一个表的主键中;外键也是索引的一种,是通过一张表中的一列指向另一张表中的主键,来对两张表进行关联;可以有N个外键,关联N个表。
- 主要作用是保证数据的一致性和完整性,并减少数据冗余。
-
- 阻止执行,
- 从表插入新行,其外键值不是主表的主键值,便阻止插入
- 从表修改外键值 ,新值不是主表的主键值,便阻止修改
- 主表删除行,其主键值在从表里存在便阻止删除(需要先删除从表的相关行)
- 主表修改主键值,旧值在从表里存在,便阻止修改(需要先删除从表的相关行)
- 级联执行
- 主表删除行,连带从表的相关行一起删除
- 主表修改主键值,连带从表相关行的外键值一起修改
-
-
Triggers: 触发器,是一种特殊类型的存储过程,它会在数据表上的特定操作(增删改)发生时自动执行。可以帮助我们实现数据的自动处理、验证和维护等任务。
-
Partitioning: 分区,常见的有水平分区、垂直分区(5.1及早前版本不支持).用于提升数据库性能,可管理性、简化维护和降低大规模数据的存储成本。分区允许表、索引、索引表被细分为更小的块,查询时只需要在满足查询条件的小块数据上进行,因此提升了效率
-
Privileges: 用户权限
3. 实战
- 创建五个空白Model;File -> New Model
- 双击“Add Diagram” ,创建一个图表界面
- 根据业务需求创建table表,这里示例创建两个
- 双击准备编辑表结构字段的表进行编辑
- 导出sql
- 效果