定义:用于限制表中的数据,为了保证表中的数据的准确和可靠
分类:(六大约束)
NOT NULL:非空,保证字段的值不能为空
DEFAULT:默认,保证该字段有默认值
PRIMARY KRY:主键,保证该字段的值具有唯一性,并且非空,一个表中至多有一个
UNIQUE:唯一,保证该字段的值具有唯一性,可以为空,一个表中可以有多个
CHECK:检查约束(mysql中不支持)
FOREIGN KEY:外键,限制两个表的关系,保证该字段的值必须来自于主表的关联列的值
在从表添加外键约束,用于引用主表中某列的值
添加约束的时机:
1、创建表时
2、修改表时
列级约束:直接在字段名和类型后面追加约束类型即可。
表级约束:在所有字段最下面 【constraint 约束名】 约束类型(字段名)
通用写法:
create table if not exists stuinfo(
id int primary key,
stuname varchar(20) not null,
gender char(1),
age int default 18,
seat int unique,
majorid int ,
constraint fk_stuinfo_major foreign key(majorid) references major(id)
);