SQL Server 脚本
创建数据库:
--创建数据库
CREATE DATABASE Accounting -- 新数据库的名称
ON --主文件
(
NAME = 'Accounting', --文件名
FILENAME = 'F:\Project Files\SQL Server\DATA\AccountingData.mdf', --文件位置
SIZE = 10, --初始大小
MAXSIZE = 50, --数据库最大大小
FILEGROWTH = 5 --增量
)
LOG ON --日志文件
(
NAME = 'AccountingLog',
FILENAME = 'F:\Project Files\SQL Server\DATA\AccountingLog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB
)
GO
查询数据库的信息:
--查询 数据库信息
EXEC sp_helpdb 'Accounting'
创建表:
CREATE TABLE Customers
(
CustomerNo int IDENTITY NOT NULL,
CustomerName varchar(30) NOT NULL,
Address1 varchar(30) NOT NULL,
Address2 varchar(30) NOT NULL,
City varchar(20) NOT NULL,
State char(2) NOT NULL,
Zip varchar(10) NOT NULL,
Contact varchar(25) NOT NULL,
Phone char(15) NOT NULL,
FedIDNo varchar(9) NOT NULL,
DateInSystem date NOT NULL, --此列以后将添加一个 CHECK 约束
)
查询表的信息:
EXEC sp_help Customers --查询表的信息 使用 EXEC sp_help + 对象名, 查看相应的对象的信息
添加一个 Check 约束
-- 给 Customers 表的 DateInSystem 列添加一个 Check约束,因为该列的值不可能是未来的某个值
ALTER TABLE Customers
ADD CONSTRAINT CN_CustomerDataInSystem
CHECK (DateInSystem <= GETDATE())
执行查询:
EXEC sp_helpconstraint Customers
结果:

插入数据: DateInSystem 的值 超过现在的时间,所以不能插入成功
--插入一个未来时间'12-31-2049',违反了CHECK约束,所以将失败
INSERT INTO Customers(CustomerName,Address1,Address2,City,State,Zip,Contact,Phone,FedIDNo,DateInSystem)
VALUES('Customer1','Address1','Address2','Mycity','NY','','No Contact','','','12-31-2049')
结果:

--创建表Orders
CREATE TABLE Orders
(
OrderID int IDENTITY NOT NULL
PRIMARY KEY,
CustomerNo int NOT NULL --将此列设置为外键,该列必须在其他表中定义一个主键约束或者唯一性约束
FOREIGN KEY REFERENCES Customers(CustomerNo),
OrderDate date NOT NULL,
EmployeeID int NOT NULL
)
--以修改表的方式, 添加 EmployeeID 为外键
ALTER TABLE Orders
ADD CONSTRAINT FK_EmployeeCreatesOrder
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)
查询表的信息:
EXEC sp_helpconstraint Orders --查询特定表的约束 消息中显示:没有外键引用表 'Orders',或者您没有引用表的相关权限。
结果:显示为 两个外键约束 + 一个主键约束

唯一性约束:
CREATE TABLE Shippers
(
ShipperID int IDENTITY NOT NULL
PRIMARY KEY,
ShipperName varchar(30) NOT NULL,
Address varchar(30) NOT NULL,
City varchar(25) NOT NULL,
State char(2) NOT NULL,
Zip varchar(10) NOT NULL,
PhoneNo varchar(14) NOT NULL
UNIQUE --表名 PhoneNo 需要满足唯一性约束
)
查询:
EXEC sp_helpconstraint Shippers
结果: 一个主键约束 + 一个唯一性约束(UNIQUE)

-- 给已存在的表Customers的DateInSystem列添加约束,使其默认值为 此刻的时间
ALTER TABLE Customers
ADD CONSTRAINT CN_CustomerDefaultDateInSystem
DEFAULT GETDATE() FOR DateInSystem
SQL Server 脚本的更多相关文章
- sql server 脚本创建数据库邮件
sql server 脚本创建数据库邮件代码: --脚本创建数据库邮件 --1.开启数据库邮件 RECONFIGURE WITH OVERRIDE GO RECONFIGURE WITH OVERRI ...
- Sql Server脚本使用TFS版本控制
原文:Sql Server脚本使用TFS版本控制 1.安装TFS插件 Microsoft Visual Studio Team Foundation Server 2010 MSSCCI Provid ...
- 获取某月第一天,最后一天的sql server脚本 【转】http://blog.csdn.net/chaoowang/article/details/9167969
这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DA ...
- 获取某月第一天,最后一天的sql server脚本
本文来自:http://blog.csdn.net/chaoowang/article/details/9167969 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, ...
- SQL Server 脚本语句
一.语法结构 select select_list [ into new_table ] from table_source [ where search_condition ] [ group by ...
- sql server 脚本创建数据库和表
USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTem ...
- SQL server脚本语句积累
1:往现有的表中增加一个字段 IF NOT EXISTS ( SELECT 1 FROM sys.sysobjects so WITH ( NOLOCK ) INNER JOIN sys.syscol ...
- SQL Server脚本
-- 清楚缓冲区 DBCC DROPCLEANBUFFERS -- 删除计划高速缓存中的元素 DBCC FREEPROCCACHE -- 执行时间 SET STATISTICS TIME ON -- ...
- SQL Server 脚本跟踪
1.查询 DataBasesID select db_id('regdatas') 2.获取进程ID 3.过滤定位
随机推荐
- strcpy/strlen/strcat/strcmp面试总结
<strcpy拷贝越界问题> 一. 程序一 #include<stdio.h> #include<string.h> void main() { char s[]= ...
- Android:简单实现ViewPager+TabHost+TabWidget实现导航栏导航和滑动切换
viewPager是v4包里的一个组件,可以实现滑动显示多个界面. android也为viewPager提供了一个adapter,此adapter最少要重写4个方法: public int getCo ...
- poj 1679 The Unique MST
题目连接 http://poj.org/problem?id=1679 The Unique MST Description Given a connected undirected graph, t ...
- MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshell.c ...
- Call C# in powershell
How to call C# code in powershell Powershell Command Add-Type usage of Add-Type we use Add-Type -Typ ...
- 53.转:深入浅出FPGA-14-ChipScope软件使用
引言 索性再破例一下,成个系列也行. 内容组织 1.建立工程 2.插入及配置核 2.1运行Synthesize 2.2新建cdc文件 2.3 ILA核的配置 3. Implement and gene ...
- 在数据表中添加一个字段的SQL语句怎么写
如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字 ...
- vbs操作txt文本文件常用方法(函数)
创建文件 dim fso, f set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.Cr ...
- 团队开发NABC特点
一.软件特点 我们所设计的躲避小球游戏,能够防止用户沉迷,且不会使用户有挫败感,失去玩游戏的兴趣. 二.进行NABC分析 N:我们适应于用户对娱乐.打发时间需求 A:我们用图形界面实现 B:此游戏适用 ...
- Unity3D学习笔记——递归+非递归遍历GameObject的子物体
在Unity3D中没有提供直接的方法获取某个GameObject的子GameObject,但是所有的GameObject都有transform对象,所以,一般是通过获取子GameObject的tran ...