约束:
何为约束?SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。
SQL数据库的约束共分为:
主键约束、唯一约束、非空约束、默认约束、外键约束。
(1)主键约束
主键字段值不允许重复,可以确保字段中数据的唯一性,并且其值不能为空。
例如设置如下字段:
用命令插入两条记录:
INSERT INTO student(id,name,age,email) VALUES(1,'张三',18,'123456@qq.com')
INSERT INTO student(id,name,age,email) VALUES(1,'李四',19,'1234567@qq.com')
出现了如下报错:
(2)唯一约束
唯一约束用来保证某列的每行必须有唯一的值,可以建立多个,其值可以为空。
用命令插入两条记录:
INSERT INTO student(name,age,email) VALUE('张三',18,'123456@qq.com')
INSERT INTO student(name,age,email) VALUE('李四',19,'123456@qq.com')
出现了如下报错:
(3)非空约束
非空约束指示某列不能存储 NULL 值,必须填有数据。
(4)默认约束
默认约束用于向列中插入默认值,如果没有规定其他的值,那么会将默认值添加到所有的新记录。
例如给年龄字段设置默认值为“18”。
可以看到如下结果:
(5)外键约束
外键约束主要用来维护两个表之间数据的一致性。
例如创建两个表:“father”表和“son”表,在“son”表中设置如下外键约束:
father表:
son表:
在son表中设置外键: