• MSSQL DBcheck


      1 --1、创建数据库。
      2 --create database MyDatabase;
      3 --删除数据库
      4 --drop database MyDatabase;
      5 
      6 ---------------------------------------------------------
      7 --MSSQL Check 约束
      8 --1、创建数据库。
      9 --create database MyDatabase;
     10 --删除数据库
     11 --drop database MyDatabase;
     12 
     13 --2、重新创建一个数据库,使用带参数的方式来创建
     14 --filename 需要修改为本机MSSQL 存储的路径
     15 --本例中使用 E:ProgramMSSQLServerDB
     16 create database ABC
     17 on primary 
     18 (
     19     --为主数据文件起一个逻辑名称
     20     name='ABC',
     21     filename='E:ProgramMSSQLServerDBABC.mdf',
     22     size=10MB,
     23     maxsize=100MB,
     24     filegrowth=50MB--10%
     25 )
     26 log on
     27 (
     28     name='ABC_log',
     29     filename='E:ProgramMSSQLServerDBABC_log.ldf',
     30     size=3mb,
     31     maxsize=100mb,
     32     filegrowth=10%
     33 )
     34 
     35 go
     36 use abc
     37 go
     38 
     39 -------------- 通过代码来为表增加约束--------------------------
     40 create table Employees
     41 (
     42     EmpId int identity(1,1),
     43     EmpName varchar(50),
     44     EmpGender nchar(1),
     45     EmpAge int,
     46     EmpEmail varchar(100),
     47     EmpAddress varchar(500)
     48 )
     49 
     50 create table Department
     51 (
     52     DepId int identity(1,1) primary key,
     53     DepName varchar(50) unique not null    
     54 )
     55 
     56 --表示插入一个空值,当在ssms设计器中插入空值的时候,可以使用大写NULL来表示空值(仅限于在ssms设计器中这样使用)
     57 --insert into biao values(null) 
     58 
     59 --当表中某列是日期类型的时候,这时要向该列中插入一个日期的时候,需要用单引号把日期字符串引起来,例如:
     60 --insert into biao(birthday) values('1996-10-10')
     61 
     62 --为Department表增加一个主键
     63 --alter table Department add constraint PK_Department_DepId primary key(DepId)
     64 
     65 
     66 ---------------------------------------------------------
     67 --============手动增加约束==========
     68 --手动删除一列(删除EmpAddress列)
     69 alter table Employees drop column EmpAddress
     70 
     71 --手动增加一列(增加一列EmpAddr varchar(1000))
     72 alter table Employees add EmpAddr varchar(1000)
     73 
     74 --手动修改一下EmpEmail的数据类型(varchar(200))
     75 alter table Employees alter column EmpEmail varchar(200)
     76 
     77 --【约束-保证数据完整性】
     78 
     79 --【主键约束】(PK) primary key constraint 唯一且不为空
     80 --为EmpId增加一个主键约束
     81 --[alter table 表名 add constraint 约束名 约束类型(列名)]
     82 alter table Employees add constraint PK_Employees_EmpId primary key(EmpId)
     83 
     84 --【非空约束】,为EmpName增加一个非空约束
     85 --1.既可以修改字段类型,2.也可以增加非空约束
     86 alter table Employees alter column EmpName varchar(5) not null
     87 
     88 --【唯一约束】(UQ) unique constraint 唯一,允许为空,但只能出现一次
     89 --为EmpName增加一个唯一约束
     90 alter table Employees add constraint UQ_Employeess_EmpName unique(EmpName)
     91 
     92 --【默认约束】(DF) default constraint 默认值
     93 --为性别增加一个默认约束,默认为'男'
     94 alter table Employees add constraint DF_Employees_EmpGender default('') for EmpGender
     95 
     96 --【检查约束】(CK) check constraint 范围以及格式限制
     97 --为年龄增加一个检查约束:年龄必须在0-120岁之间,含岁与岁。
     98 alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120)
     99 
    100 --创建一个部门表,然后为Employee表增加一个DepId列。
    101 alter table Employees  add EmpDepId int not null
    102 
    103 --【外键约束】(FK) foreign key constraint 表关系(在外键表中建立外键约束)
    104 -- 增加外键约束时,设置【级联更新、级联删除】:来保证,当主键表中的记录发生改变时候,对应的外键表中的数据也发生相应的改变。
    105 
    106 --[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
    107 --[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
    108 
    109 --为Employee表增加外键约束
    110 alter table Employees 
    111 add constraint FK_Employees_Department foreign key(EmpDepId) references Department(DepId)
    112 
    113 
    114 -----------手动删除约束-------------------------
    115 alter table Employees drop constraint FK_Employees_Department
    116 
    117 --通过一条语句删除多个约束
    118 alter table Employees 
    119 drop constraint UQ_Employeess_EmpName,DF_Employees_EmpGender,CK_Employees_EmpAge
    120 
    121 
    122 --通过一条语句创建多个约束
    123 alter table Employees add 
    124 constraint UQ_Employeess_EmpName unique(EmpName),
    125 constraint DF_Employees_EmpGender default('') for EmpGender,
    126 constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120)
    127 
    128 -------------------------------------------------------------------
    129 ---------在创建表的时候增加约束
    130 
    131 create table TestConstraint
    132 (
    133     autoId int identity(1,1) primary key,
    134     uname varchar(50) unique,
    135     uage int check(uage>10 and uage<20),
    136     ugender char(2) default('')
    137 )
    138 -------------------------------------------------------------------
    139 --为员工表增加一个外键约束,同时设置级联更新与级联删除
    140 alter table Employees add constraint FK_Employees_Department
    141 foreign key(EmpDepId) references Department(DepId) 
    142 on delete cascade
    143 on update cascade
  • 相关阅读:
    spark rdd--分区理解
    2020-05-03 助教一周小结(第十二周)
    2020-04-26 助教一周小结(第十一周)
    2020-04-19 助教一周小结(第十周)
    2020-04-12 助教一周小结(第九周)
    2020-04-05 助教一周小结(第八周)
    2020-03-29 助教一周小结(第七周)
    2020-03-22 助教一周小结(第六周)
    内网渗透思考(实践)
    2020-03-15 助教一周小结(第五周)
  • 原文地址:https://www.cnblogs.com/DrHao/p/5193567.html
Copyright © 2020-2023  润新知