来自 新葡亰数据库 2019-11-06 19:36 的文章
当前位置: 澳门新葡亰app > 新葡亰数据库 > 正文

何况删除子表,非空节制 --NN

约束

建设构造:主外键,节制。(删除主表的时候,同时删除子表;更新主表的时候更新子表卡塔尔国

非空限定 --NN,ont null constraint

1.建表时定义主键

  Create table 表名

   (

        Sno int identity(1,1),

        Sname nvarchar(20),

        --设置主键

        Primary key (Sno)

   )

总得填写数据无法为空

2.添加主外键

加上主键

alter table 表名

add constraint PK_表名_Sno

primary key(id)

参照他事他说加以考察完整性1.建表时定义外键

create table 表名

  (

      sno int identity(1,1) primary key,

      cno int not null,

      foreign key(cno) References

      表名2(Cno)

      on Delete cascade     --级联删除

      on update cascade    --级联更新

      -- on delete on action  删除管制

  )

加上国艺术大学键

   alter table 表名

   add constraint FK_表名_表名2

   Foreign key(cid) references 表名2(cid)

客户定义完整性1.非空束缚

   alter table 表名

   alter column name varchar(20) not null

--钦赐表 Student 增加名称为NN_Student_sClassId非空限制(钦点列名sClassId卡塔尔国,括号输入表达式

3.唯豆蔻年华限制

   alter table 表名

   add constraint UQ_表名_列名 unique(列)

alter table Student add constraint NN_Student_sClassId check(sClassId is not null)

4.反省节制

   alter table 表名

   add constraint CK_表名_列名 check(age>5)

 

5.私下认可约束

   alter table 表名

   add constraint DF_表名_列名 default('男')

   for gender

主键限定 --PK,primary key constraint

6.剔除限定 

  alter table 表名 drop constraint DF_表名_列

 

唯大器晚成且不为空

--内定表 Student 加多名称为PK_Student_sId主键约束(钦点列名sId卡塔 尔(阿拉伯语:قطر‎

alter table Student add constraint PK_Student_sId primary key(sId)

 

唯生机勃勃约束 --UQ,unique constraint

唯意气风发,允许为空,可是同样的数码只可以现身二遍

--钦赐表 Student 增多名字为UQ_Student_sName唯意气风发约束(钦赐列名sName卡塔 尔(阿拉伯语:قطر‎

alter table Student add constraint UQ_Student_sName unique(sName)

    

私下认可约束 --DF,default constraint

安装暗许值

--钦定表 Student 增多名叫DF_Student_澳门新葡亰app,sName私下认可节制(钦赐列名sBirthday卡塔 尔(阿拉伯语:قطر‎,获取当明日期

澳门新葡亰官网APP,alter table Student add constraint DF_Student_sName default(getdate()) for sBirthday

 

--钦定表 Student 增加名称为DF_Student_sName暗中同意节制(内定列名sBirthday卡塔 尔(阿拉伯语:قطر‎,钦命日期  

alter table Student add constraint DF_Student_sName default('1995-12-12') for sBirthday  

--钦点表 Student 增多名称叫DF_Student_sName默许限制(钦定列名sSex卡塔 尔(英语:State of Qatar),钦定性别

alter table Student add constraint DF_Student_sSex default('男') for sSex     

 

自己商讨限定 --CK,check constraint

安装限定以致格式约束

--钦赐表 Student 增多名叫CK_Student_sSex检查约束(钦定列名sSex卡塔尔国,节制为'男'大概'女'

alter table Student add constraint CK_Student_sSex check(sSex='男' or sSex='女')   

--钦点表 Student 增多名字为CK_Student_sSex检查限定(钦命列名sAge卡塔尔,节制为0-100中间的数字

alter table Student add constraint CK_Student_sAge check(sAge>=0 and sAge<=100)   

 

外键约束  --FK,foreign key constraint

表关系

alter table Student add constraint Fk_Student_sClassId foreign key(sClassId) references Class(cId)

--指定表Student添加sClassId外键为Class的主键cId

on delete cascade on update  cascade --级联删除 --级联更新

 

删去节制

alter table Student drop Constraint NN_Student_sClassId    --删除钦赐表中的限制

 

创造表时设置列的羁绊

create table Users

(

     uId int identity(1,1) primary key,--创制了三个列名称为uId的列,并安装了主键约束

     uName nvarchar(8) not null unique,成立了一个列名称为uName的列,并安装了唯后生可畏约束

     uSex nchar(1) not null check(uSex='男' or uSex='女') default('男'),--设置了非空和暗中同意约束

     uBirthday datetime,--成立了八个列名叫uBirhday的列,并不曾设置约束

     uAge int not null check(uAge>0 and uAge<100) default(18),--设置了非空、检查、暗许约束

 )

本文由澳门新葡亰app发布于新葡亰数据库,转载请注明出处:何况删除子表,非空节制 --NN

关键词: