--1、创建数据库。
--create database MyDatabase;
--删除数据库
--drop database MyDatabase; ---------------------------------------------------------
--MSSQL Check 约束
--1、创建数据库。
--create database MyDatabase;
--删除数据库
--drop database MyDatabase; --2、重新创建一个数据库,使用带参数的方式来创建
--filename 需要修改为本机MSSQL 存储的路径
--本例中使用 E:\ProgramMSSQLServerDB
create database ABC
on primary
(
--为主数据文件起一个逻辑名称
name='ABC',
filename='E:\ProgramMSSQLServerDB\ABC.mdf',
size=10MB,
maxsize=100MB,
filegrowth=50MB--10%
)
log on
(
name='ABC_log',
filename='E:\ProgramMSSQLServerDB\ABC_log.ldf',
size=3mb,
maxsize=100mb,
filegrowth=10%
) go
use abc
go -------------- 通过代码来为表增加约束--------------------------
create table Employees
(
EmpId int identity(1,1),
EmpName varchar(50),
EmpGender nchar(1),
EmpAge int,
EmpEmail varchar(100),
EmpAddress varchar(500)
) create table Department
(
DepId int identity(1,1) primary key,
DepName varchar(50) unique not null
) --表示插入一个空值,当在ssms设计器中插入空值的时候,可以使用大写NULL来表示空值(仅限于在ssms设计器中这样使用)
--insert into biao values(null) --当表中某列是日期类型的时候,这时要向该列中插入一个日期的时候,需要用单引号把日期字符串引起来,例如:
--insert into biao(birthday) values('1996-10-10') --为Department表增加一个主键
--alter table Department add constraint PK_Department_DepId primary key(DepId) ---------------------------------------------------------
--============手动增加约束==========
--手动删除一列(删除EmpAddress列)
alter table Employees drop column EmpAddress --手动增加一列(增加一列EmpAddr varchar(1000))
alter table Employees add EmpAddr varchar(1000) --手动修改一下EmpEmail的数据类型(varchar(200))
alter table Employees alter column EmpEmail varchar(200) --【约束-保证数据完整性】 --【主键约束】(PK) primary key constraint 唯一且不为空
--为EmpId增加一个主键约束
--[alter table 表名 add constraint 约束名 约束类型(列名)]
alter table Employees add constraint PK_Employees_EmpId primary key(EmpId) --【非空约束】,为EmpName增加一个非空约束
--1.既可以修改字段类型,2.也可以增加非空约束
alter table Employees alter column EmpName varchar(5) not null --【唯一约束】(UQ) unique constraint 唯一,允许为空,但只能出现一次
--为EmpName增加一个唯一约束
alter table Employees add constraint UQ_Employeess_EmpName unique(EmpName) --【默认约束】(DF) default constraint 默认值
--为性别增加一个默认约束,默认为'男'
alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender --【检查约束】(CK) check constraint 范围以及格式限制
--为年龄增加一个检查约束:年龄必须在0-120岁之间,含岁与岁。
alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120) --创建一个部门表,然后为Employee表增加一个DepId列。
alter table Employees add EmpDepId int not null --【外键约束】(FK) foreign key constraint 表关系(在外键表中建立外键约束)
-- 增加外键约束时,设置【级联更新、级联删除】:来保证,当主键表中的记录发生改变时候,对应的外键表中的数据也发生相应的改变。 --[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
--[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] --为Employee表增加外键约束
alter table Employees
add constraint FK_Employees_Department foreign key(EmpDepId) references Department(DepId) -----------手动删除约束-------------------------
alter table Employees drop constraint FK_Employees_Department --通过一条语句删除多个约束
alter table Employees
drop constraint UQ_Employeess_EmpName,DF_Employees_EmpGender,CK_Employees_EmpAge --通过一条语句创建多个约束
alter table Employees add
constraint UQ_Employeess_EmpName unique(EmpName),
constraint DF_Employees_EmpGender default('男') for EmpGender,
constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120) -------------------------------------------------------------------
---------在创建表的时候增加约束 create table TestConstraint
(
autoId int identity(1,1) primary key,
uname varchar(50) unique,
uage int check(uage>10 and uage<20),
ugender char(2) default('男')
)
-------------------------------------------------------------------
--为员工表增加一个外键约束,同时设置级联更新与级联删除
alter table Employees add constraint FK_Employees_Department
foreign key(EmpDepId) references Department(DepId)
on delete cascade
on update cascade

MSSQL DBcheck的更多相关文章

  1. [干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)

    前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL ...

  2. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

  3. MSSQL远程连接

    背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...

  4. 学习笔记 MSSQL显错手工注入

    和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...

  5. MSSQL部分补丁的列表及下载地址(持续更新)

    整理了MSSQL部分补丁的列表及下载地址(截至2016-11-18),供参考下. Edition Version Date Published Download Link SQL Server 201 ...

  6. .NET+IIS+MSSQL配置

    好久没配置.NET+IIS+MSSQL了,跟以前不大一样了.总结下吧. 环境: Windows Server 2012 标准版 x64 SQL Server Express 2014 一.HTTP E ...

  7. C++-数据库【1】-C++连接MSSQL数据库

    测试环境—— 系统:Win7 64bit 编译器:VC++ 2015 数据库:MSSQL 2008 R2 #include <Windows.h> #include <stdio.h ...

  8. mssql与mysql 数据迁移

    概要: mssql向mysql迁移的实例,所要用到的工具bcp和load data local infile. 由于订单记录的数据是存放在mssql服务器上的,而项目需求把数据迁移到mysql ser ...

  9. 一起来测试天兔Lepus3.8 Beta版本的MSSQL部分

    一起来测试天兔Lepus3.8 Beta版本的MSSQL部分 产品介绍:http://www.lepus.cc/下载地址:http://www.lepus.cc/soft/18手册地址:http:// ...

随机推荐

  1. MVC4+EF5 edmx代码分析

    本文分析Entity Framework(EF)从数据库自动生成的模型文件代码(扩展名为edmx). 一. 概述 本文使用的数据库结构尽量简单,只有2个表,一个用户表和一个分公司表(相当于部门表),一 ...

  2. Jmeter系列-webdriver插件

    1.下载地址    JMeterPlugins-WebDriver-1.1.2 2.将JMeterPlugins-WebDriver-1.1.2\lib\ext中的*.jar拷贝到D:\apache- ...

  3. java 中 Stringbuff append源代码浅析

    public synchronized StringBuffer append(String str) {        super.append(str);        return this;  ...

  4. 【bzoj4715】囚人的旋律 dp

    题目描述 给你一个 $1\sim n$ 的排列 $a_i$ ,若 $i\le j$ 且 $a_i\ge a_j$ ,则 $i$ 到 $j$ 有一条边.现在给你这张图,求既是独立集(任意两个选定点都没有 ...

  5. python 内存分析

    1.改源码重新编译打印相关信息 obmalloc.c 文件中打印 maxarenas,值为当前环境分配 arena 个数:分配 arena 时并没有马上分配对应的pools,故对于每一个 arena, ...

  6. Python程序性能分析模块----------cProfile

    cProfile分析器可以用来计算程序整个运行时间,还可以单独计算每个函数运行时间,并且告诉你这个函数被调用多少次 def foo(): pass import cProfile cProfile.r ...

  7. BZOJ5292 & 洛谷4457 & LOJ2513:[BJOI2018]治疗之雨——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5292 https://www.luogu.org/problemnew/show/P4457 ht ...

  8. 洛谷 P2906 [USACO08OPEN]牛的街区Cow Neighborhoods | Set+并查集

    题目: https://www.luogu.org/problemnew/show/P2906 题解: 垃圾水题 #include<cstdio> #include<algorith ...

  9. 51nod 1257 背包问题 V3(分数规划)

    显然是分数规划...主要是不会求分数的形式,看了题解发现自己好傻逼QAQ 还是二分L值算出d[]降序选K个,顺便记录选择时候的p之和与w之和就可以输出分数形式了... #include<iost ...

  10. POI 2018.10.20

    [POI2005]BANK-Cash Dispenser 有多少个4位字符串是所有操作序列的子串. 10^4枚举字符串.暴力判断会TLE 发现,我们就是在每个操作序列中不断找第一个出现的c字符. 预处 ...