MySQL约束中最好玩的一种,没有之一

顾名思义,约束就是限制。
MySQL中常用的约束有很多的,比如主键约束、非空约束、自增约束等等,但我一直觉得外键约束才是其中最好玩的,接下来我们便来聊聊说它是最好玩的原因。

一、外键简介 (支持数据引擎为InnoDB)

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。 、
	上面是摘自百度百科给出的定义,个人觉得还是看完之后对外键还是没什么概念,个人建议是先抛开这些概念来看作用,最后再自己总结。

二、外键的作用

1. 让数据库自己通过创建外键来保证数据的完整性

2.  能够增加数据库表关系的可读性

三、外键常用命令
1.创建两个表 A,B,在B表中创建外键字段关联A表

1.创建A表,为了大家便于理解,就简单创建两个字段

在这里插入图片描述

2.一个表中的字段如果想要设置外键约束,必须制定其中的约束字段,那么我们就以主键为例,为a表添加主键:

在这里插入图片描述

3.创建b表,将a中的主键字段作为外键的关联字段如下:

在这里插入图片描述

4.在A表插入数据如下:

在这里插入图片描述

5.好玩的来了,在B表中添加数据如下:

在这里插入图片描述
重点来了呦:插入的语句正确,为什么会报错呢?这就是上面提到外键的作用了,因为设置了外键的关联,所以如果想要插入数据就必须将两个表的关联字段保持一致,再次插入数据如下:
在这里插入图片描述
怎么样?是不是很好玩,当然这里只是简单的介绍了一个小栗子,外键中还有许多参数可以设置,有兴趣的朋友可以试着玩玩!
在这里插入图片描述

最后再来介绍一下关于查询表约束和删除约束的命令:

show  create table +表名            查看表的详细信息,包括各种约束
 alter table +表名 drop index +约束名;             删除指定名称的约束

在这里插入图片描述