数据库的约束
sql server的约束类型
约束 | 描述 | 实现 |
主键(primary key) |
唯一、非空 |
定义列时:id int primary key / id int constraint pk_id primary key 定义表之后:alter table student add constraint pk_stu primary key(id,name) (必须有id,name的非空限制) |
唯一(unique) |
唯一、可为空 |
定义列时:name varchar(255) unique/name varchar(255) constraint uk_stu unique
定义表之后:alter table student add constraint uk_name unique(name) |
外键(foreign key) |
依赖关系 |
定义列时:te_id int references teacher(id) or
alter table student drop constraint fk_stu 定义表之后: alter table student add constraint fk_stu foreign key(te_id) references teacher(id)
|
默认值(default) |
提供默认值 |
定义表时:
birthday date default('1900-1-1') or... 定义表后: alter table userInfo add constraint df_user_birthday default('1900-1-1') for birthday
|
检查(check) |
检查约束 |
定义表时:
sex char(2) check(sex='male' or sex='female') or ... 定义表后: alter table userInfo add constraint cj_user_sex check(sex='male' or sex='female')
|