📢本篇使用数据库软件mysql8.0
sql语言:关系型数据库中对数据的约束
本篇算是本专栏中文章 sql语言从入门到应用1:详解ddl,dml,基础dql语言的一个补充续篇。这是因为ddl,dml,以及基础dql语言针对的对象都是单独一张表。且针对表中的数据,上篇文章中涉及到的,也只有数据类型对表中该类型下数据的约束情况。
但更多时候,表中的数据只符合它所对应的数据类型的范围是不够的!比如在在一张学生表中,它的第一列是id,数据类型是int。但仅规定id列的元素只需要在int范围内就够了吗?!当我向表中插入两个学生的信息,学生1id为1,学生2id为1。他们都符合int类型规定的约束,但显然存储学生id的时候,这样的数据是错误的,不合法的。这时候可能有人要说了,正经人不会把两个学生的id设为一样的,但在实际开发场景中,仅仅靠 数据类型+人工检查数据是否合法是非常不靠谱的行为!!!人难免有疏漏。
为了保证数据库中能够避免被插入或者修改一些非法的数据,而导致损失,数据库服务器中设置了能自动的对数据的合法性进行校验检查的一系列约束。体现在sql语言中就是一系列含关键字的语句。