含义:一种限制,用于限制表中的数据,为了保证表中数据的准确性和可靠性
分类---六大约束:
not null:非空,用于保证该字段的值不能为空;比如用户名字段、学号字段等必填项;
default:默认值,用于保证该字段有默认值;比如头像等非必填项,但又需要有个值的字段;
primary key:主键,用于保证该字段的值具有唯一性并且非空;比如学号,员工编号等;
unique:唯一,用于保证该字段的值具有唯一性但可以为空;比如座位号,可以不写,但是写了就不能重复;
check:检查约束【mysql中不支持】;比如年龄、性别,可以检查插入的值是否为设定好的值或设定范围内的值;
foreign key:外键,用于限制两个表的关系的,用于保证该字段的值必须来自于主表关联列的值;比如学生表的专业编号、员工表的部门编号等;
添加约束的时机:
1、创建表时
2、修改表时
约束的添加分类:
1、列级约束
六大约束语法上都支持,但外键约束没有效果
语法:直接在字段名和类型后面追加 约束类型 即可;只支持默认、非空、主键、唯一
//创建学员表
create table stuinfo(
id int primary key,//主键约束
stuName varchar(20) not null,