--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. 3dContactPointAnnotationTool开发日志(一)

      周日毕设开题报告结束后浪了一天,今天又要开始回归正轨了.毕设要做一个人和物体的接触点标注工具,听上去好像没啥难度,其实实现起来还是挺麻烦的.   今天没做啥,就弄了个3d场景做样例.把界面搭了一下 ...

  2. 高性能python

    参考来源:Python金融大数据分析第八章 提高性能有如下方法 1.Cython,用于合并python和c语言静态编译泛型 2.IPython.parallel,用于在本地或者集群上并行执行代码 3. ...

  3. 2019 front end jobs collection

    2019 front end jobs collection Alibaba https://ant.design/docs/spec/work-with-us-cn https://www.yuqu ...

  4. [剑指Offer] 55.链表中环的入口结点

    题目描述 一个链表中包含环,请找出该链表的环的入口结点. [思路]根据set集合的不重复,遍历链表时遇到的第一个重复结点就是环的入口结点. /* struct ListNode { int val; ...

  5. Dubbo和Spring Cloud开发框架对比

    前言 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然微服务架构没有公认的技术标准和规范或者草案 ...

  6. BZOJ 1057 棋盘制作(最大01相间子矩阵)

    求最大01相间子矩阵可以转换为求最大全0子矩阵.只需把棋盘(x+y)为奇数的取反,而该问题可以用经典的悬线法O(n^2)的求解. 悬线法呢. 首先定义b[i][j],为a[i][j]向上的最大连续0的 ...

  7. bzoj3473字符串&bzoj3277串

    题意:给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串.注意本质相同的子串多次出现算多次,如1 1 aaa这组数据答案为6,贡献1WA.代码里有些部分是为了 ...

  8. XML-RPC协议学习

    XML-RPC调用包括2部分:客户端client(调用线程).服务器端server(被调用的线程).服务端是通过特定的URL获得的,调用过程如下: 1.客户端程序使用XML-RPC客户端发出作业请求, ...

  9. [洛谷P4777]【模板】扩展中国剩余定理(EXCRT)

    题目大意:给你一些关于$x$的方程组:$$\begin{cases}x\equiv a_1\pmod{mod_1}\\x\equiv a_2\pmod{mod_2}\\\vdots\\x\equiv ...

  10. java.util.Stack类简介(栈)

    Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来 Deque(双端队列)比起stack具有更好的完整性和一致性,应该被优先使用 ...