• 19-6 通过t-sql实现约束


    ------------------------------------------------------------------------
    --通过t-sql语句来创建约束
    ------------------------------------------------------------------------
    --新建一张表:员工信息表
    create table Employees
    (
        EmpId int identity(1,1),
        EmpName nvarchar(50),
        EmpGender char(2),
        EmpAge int,
        EmpEmail nvarchar(100),
        EmpAddress nvarchar(500)
    )
    
    create table Department
    (
      DepId int identity(1,1),
      DepName nvarchar(50),
    )
    --========================手动增加约束===========================
    --手动删除一列(删除EmpAddress列)
    alter table Employees drop column EmpAddress
    
    --手动增加一列(增加一列EmpAddress nvarchar(1000))
    alter table Employees add EmpAddress nvarchar(1000)
    
    --手动修改一下EmpEmail的数据类型(nvarchar(200))
    alter table Employees alter column EmpEmail nvarchar(200)
    
    --为EmpId增加一个主键约束
    alter table Employees add constraint PK_Employees_EmpId primary key (EmpId)
    
    --非空约束,为EmpName增加一个非空约束(修改列)
    alter table Employees alter column EmpName nvarchar(50) not null
    
    --为EmpName增加一个唯一约束
    alter table Employees add constraint UQ_Employees_EmpName unique (EmpName) 
    
    --为性别增加一个默认约束,默认为"男"
    alter table Employees add constraint DF_Employees_EmpGender default('') for EmpGender
    
    --为性别增加一个检查约束,要求性别只能是"男"or"女"
    alter table Employees add constraint CK_Employees_EmpGender check(EmpGender='' or EmpGender='')
    
    --为年龄增加一个检查约束,年龄必须在0-120岁,含岁与岁
    alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120)
    
    --创建一个部门表,然后为Employees表增加一个DepId列
    alter table Employees add DepId int not null
    
    --为Department表设置主键,主键列是DepId
    alter table Department add constraint PK_Department_DepId primary key (DepId)
    
    --增加外键约束
    alter table Employees add constraint FK_Employees_Department foreign key(DepId) references Department(DepId)
    ------------------------------------------------------------------
    --删除约束---------------------------------------------
    alter table Employees drop constraint UQ_Employees_EmpName,DF_Employees_EmpGender,CK_Employees_EmpGender,CK_Employees_EmpAge,FK_Employees_Department
    
    --通过一条代码来增加多个约束
    alter table Employees add
    constraint UQ_Employees_EmpName unique (EmpName) ,
    constraint DF_Employees_EmpGender default('') for EmpGender,
    constraint CK_Employees_EmpGender check(EmpGender='' or EmpGender=''),
    constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120),
    constraint FK_Employees_Department foreign key(DepId) references Department(DepId)
    --========================================================================
    ----------------------创建表的同时就为表增加约束--------------------------
    create table Employees
    (
        EmpId int identity(1,1) primary key,
        EmpName nvarchar(50) not null unique check(len(EmpName)>2),
        EmpGender char(2) default(''),
        EmpAge int check(EmpAge>0 and EmpAge<120),
        EmpEmail nvarchar(100) unique,
        EmpAddress nvarchar(500) not null,
        EmpDepId int foreign key references Department(DepId) on delete cascade
    )
    
    create table Department
    (
      DepId int identity(1,1) primary key,
      DepName nvarchar(50) not null unique
    )
  • 相关阅读:
    SimpleAdapter的用法
    ListView中加载大量的图片
    用PreferenceActivity做一个标准的设置界面
    用代码构造PreferenceScreen
    工具类之Condition
    工具类之Mutex
    Linux初探之如何查看帮助文档自学命令[网址]
    linux基础之帮助文档---常用的命令[转载]
    Linux 下常见的四款chm查看器比较[转载+亲测可用]
    Linux(Ubuntu)下MySQL的安装与配置[转载+亲测]
  • 原文地址:https://www.cnblogs.com/Strugglinggirl/p/7181427.html
Copyright © 2020-2023  润新知