MSSQL DBcheck
--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的更多相关文章
- [干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)
前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- MSSQL远程连接
背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...
- 学习笔记 MSSQL显错手工注入
和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...
- MSSQL部分补丁的列表及下载地址(持续更新)
整理了MSSQL部分补丁的列表及下载地址(截至2016-11-18),供参考下. Edition Version Date Published Download Link SQL Server 201 ...
- .NET+IIS+MSSQL配置
好久没配置.NET+IIS+MSSQL了,跟以前不大一样了.总结下吧. 环境: Windows Server 2012 标准版 x64 SQL Server Express 2014 一.HTTP E ...
- C++-数据库【1】-C++连接MSSQL数据库
测试环境—— 系统:Win7 64bit 编译器:VC++ 2015 数据库:MSSQL 2008 R2 #include <Windows.h> #include <stdio.h ...
- mssql与mysql 数据迁移
概要: mssql向mysql迁移的实例,所要用到的工具bcp和load data local infile. 由于订单记录的数据是存放在mssql服务器上的,而项目需求把数据迁移到mysql ser ...
- 一起来测试天兔Lepus3.8 Beta版本的MSSQL部分
一起来测试天兔Lepus3.8 Beta版本的MSSQL部分 产品介绍:http://www.lepus.cc/下载地址:http://www.lepus.cc/soft/18手册地址:http:// ...
随机推荐
- iOS AVAudioPlayer播放音频时声音太小
iOS AVAudioPlayer播放音频时声音太小 //引入AVFoundation类库,设置播放模式就可以了 do { try AVAudioSession.sharedInstance().ov ...
- matlab如何将数组中的NAN值去除
比如我们一组数据,里面有不少的NaN值,如何将其删除掉呢?可以通过find函数来搞定. 我们可以通过importdata('data.txt')将数据文件data.txt导入数组A中. ...
- Ip合并
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- 【bzoj2654】tree 二分+Kruscal
题目描述 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树.题目保证有解. 输入 第一行V,E,need分别表示点数,边数和需要的白色边数. 接下来E行,每 ...
- 【刷题】BZOJ 4698 Sdoi2008 Sandy的卡片
Description Sandy和Sue的热衷于收集干脆面中的卡片.然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型.每一张卡片都由一些数字进行标记,第 ...
- Linux上安装Oracle11g
1.首先是挂盘 1.1 Linux硬盘挂载步骤:查看磁盘 先查看目前机器上有几块硬盘,查看命令有两种: 命令1:# fdisk –l 命令2:# dmesg | grep sd 其中:fdisk命令说 ...
- 洛谷 P2617 Dynamic Rankings 解题报告
P2617 Dynamic Rankings 题目描述 给定一个含有\(n\)个数的序列\(a[1],a[2],a[3],\dots,a[n]\),程序必须回答这样的询问:对于给定的\(i,j,k\) ...
- 51nod1199:Money out of Thin Air(线段树)
按dfs序一个一个加入线段树,可以让任何一颗子树的节点在线段树中连续,于是就可以用线段树维护整棵树了 和树剖的思想是一样的,大概一眼就看出来了,但是写了两个半天(躺 总结:记住以后写完数据结构或者数字 ...
- [AHOI2008] 逆序对
link 我们可以很容易的推断出$-1$是单调不降的,若$i>j$且$a_i$与$a_j$都没有填数,若填完之后$a_i>a_j$或者$a_i<a_j$,则对答案产生影响的只在$[i ...
- ACE_Message_Block功能简介
转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607960.html ACE_Message_Block在Ace中用来表示消息的存放空间 ...