约束

时间:2021-08-11
本文章向大家介绍约束,主要包括约束使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

约束的定义

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) 



原文地址:https://www.cnblogs.com/bangbangzoutianya/p/15129877.html