MySQL的约束——外键约束

约束:

MySQL的约束的概述:
概念:
约束是作用于表中字段上的规则,用于限制存储在表中的数据
目的:
保证数据库中数据的正确,有效和完整性
分类
1.非空约束

NOT NULL  			限制该字段的数据不能为null

2.唯一约束

UNIQUE				保证该字段的所有数据都是唯一,不重复的

3.主键约束

PRIMARY KEY			主键是一行数据的唯一标识,要求非空且唯一

4.默认约束

DEFAULT				保存数据时,如果未指定该字段的值,则采用默认值

5.检查约束

CHECK				保证字段值满足某一个条件

6.外键约束

FOREIGN KEY			用来让两张表的数据之间建立连接,保证数据的一致性和完整性

外键约束:

作用:外键的作用就是使两张表的数据之间建立连接,保证数据的一致性和完整性
栗子:一个学生表,里面有id,姓名,年龄,班级,班主任字段,班级和班主任这两个字段就可以建立外键约束与老师表和班级表建立联系
为什么建立外键,首先是方便查询,当你需要去查看这个学生的班主任的信息时,只需要获取学生的班主任字段的值去老师表中查询就行。
,其次是保证数据的一致性和完整性,当一个老师辞职或其他缘故无法正常带学生后一个只对老师进行删除/修改就可以对学生表也进行操作。

关系:
具有外键的为子表,外键相关联的主表为父表
添加外键语法
第一种:

create table 表名 (字段名 数据类型,……[constraint] [外键名称] foreign key (外键字段名) references 主表 (主表列名));

第二种:

alter table 表名 add constraint 外键名称 foreign key (外键字段名) references 主表(主表列名);

删除外键语法

alter table 表名 drop foreign key 外键名称 

行为
MySQL的约束——外键约束_第1张图片
在添加外键的时候添加其行为

alter table 表名 add constraint 外键名称 foreign key (外键字段名)
references 主表(主表列名)
on update 行为  //删除行为
on delete 行为;//修改行为

你可能感兴趣的:(mysql,数据库,sql)