

数据库管理和应用
MySQL
六大约束

在 MySQL 的世界中,有六种约束——非空约束、默认约束、唯一约束、主键约束、自增长约束、外键约束,这六大约束犹如六位忠诚的卫士,守护着数据的安全与完整。
NOT NULL:非空约束,杜绝数据的空白,确保每一个记录都有其价值;
DEFAULT:默认约束,为数据提供贴心的预设,简化录入过程;
UNIQUE KEY(UK):唯一约束,保证数据的独一无二,拒绝重复;
PRIMARY KEY(PK):主键约束,赋予数据唯一标识,成为查询与关联的关键;
AUTO_INCREMENT:自增长约束,让数据有序递增,轻松管理。
FOREIGN KEY(FK):外键约束,搭建表与表之间的桥梁,维系数据关系;
它们共同为 MySQL 数据库的稳定运行保驾护航。
下面我们来了解下它们。

1.NOT NULL:非空,在我们新增数据的时候 这个字段必须新增的同时有值;
2.DEFAULT:默认,在你没有给定值得时候 数据库默认的值;
3.UNIQUE KEY(UK):唯一,是指一个字段中所有的值不能重复,保证了数据(字段) 的唯一性;
4.PRIMARY KEY(PK):主键,通过主键一定能找到唯一的一条记录(主键包含非空且唯一这两种约束);
a)保证数据没有重复,标识唯一性;
b)主键可以帮我们提高计算机内存使用率以及提升计算机运行速度;
c)有时候为了完成一张表格需要多张表格的辅助,就是为了减少冗余;
5.AUTO_INCREMENT:自动增长,主键数字自动往上递增1;可以使用自动增长的约束;
注意事项:
a)自动增长约束必须是主键而且数据类型是int;
b)自动增长的数字不会回退;
6.FOREIGN KEY(FK):外键,可以使两张表关联,保证数据的一致性,引用完整性,子表的取值范围受父表约束。
下面我们通过例子来看看这几种约束的用法。假如要创建下面两张表:
1、先创建school数据库--创建年级表(grade)
包含字段年级编号(g_id)int型、主键;
年级名称(g_name)varchar(20) , 非空。
2、创建学生表(student)
包含字段学生编号(stu_id)int型、主键、自增长;
学生姓名(stu_name)varchar(20)且唯一;
年级(stu_grade)int类型、非空;
学生邮编(stu_postcode)int类型,默认200000。
3、根据上面两张表创建外键约束。
操作如下:
首先是创建school数据库。

然后使用school数据库。

然后创建grade数据表。

创建student数据表。

添加外键。

最后这个操作,是在两张表建好以后,再给表添加外键,格式是:
alter table 子表名称 add constraint 外键名称 foreign key(子表关联字段) references 父表名称(父表关联字段)
入门内容可点击【数据分析入门】进行查看,进阶内容可点击【数据分析进阶】,后续将会对数据分析中涉及到的内容做系列介绍,如对内容感兴趣,可关注公众号及时接收更新内容。

FOLLOW US
关注我们
问题咨询请扫码
文中部分图片源自网络,如有侵权,请联系删除