SQL Server 约束
约束的定义
SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止
约束的创建
- 创建表的时候添加约束
- 表创建后添加约束
创建表时候添加约束
if OBJECT_ID('user_info','u') is not null
drop table user_extend,user_info
create table user_info(
id varchar(20) primary key,
name nvarchar(20) unique,
sex nvarchar(20) default '男',
age int check(age>18),
height int not null
)
--用户扩展表 user_extend(id,u_id,passwd)
if OBJECT_ID('user_extend','u') is not null
drop table user_extend
create table user_extend(
id varchar(20) primary key,
u_id varchar(20) foreign key references user_info(id),
passwd varchar(20) default '111111'
)
表创建后,再添加约束
--先创建2张没有约束的表
--用户表 user(id,name,age,sex,height)
if OBJECT_ID('user_info','u') is not null
drop table user_info
create table user_info(
id varchar(20) not null,
name nvarchar(20),
sex nvarchar(20) ,
age int ,
height int
)
--用户扩展表 user_extend(id,u_id,passwd)
if OBJECT_ID('user_extend','u') is not null
drop table user_extend
create table user_extend(
id varchar(20) ,
u_id varchar(20) ,
passwd varchar(20),
)
--修改表,添加约束
alter table user_info
add constraint pk_id primary key (id)
alter table user_info
add constraint un_name unique (name)
alter table user_info
add constraint df_sex default '男' for sex
alter table user_info
add constraint ck_age check(age>18)
alter table user_info
alter column height int not null
alter table user_extend
add constraint fk_uid foreign key (u_id) references user_info(id)
删除约束
alter table XX drop constraint 约束名
本文来自博客园,作者:弩哥++,转载请注明原文链接:https://www.cnblogs.com/bangbangzoutianya/p/15129877.html