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.过滤定位
随机推荐
- poj 2377 Bad Cowtractors
题目连接 http://poj.org/problem?id=2377 Bad Cowtractors Description Bessie has been hired to build a che ...
- Android里面的命名规范
前前后后接触安卓也有一段时间了,但是对于Android命名规范这块一直没有太注意过.导致有的时候写出来的代码,前后的风格根本不一样,今天在网上查了一下,正好对自己来说可以好好的总结一下. 首先在And ...
- Spring原来属于这家公司
Spring几年前被VMware公司收购,如今Spring版权隶属于Pivotal.Pivotal ONE对Spring提供整合.Greenplum提供了大数据服务,GEMFIRE内存集群技术帮助12 ...
- iOS-系统自带navigationController-最全设置
// 导航栏背景色 self.navigationController.navigationBar.barTintColor = [UIColor orangeColor]; // 设置push出来的 ...
- 005--VS C++ 加载位图
//全局变量 HDC mdc; //--------------------------------------------InitInstance() 函数--------------------- ...
- 利用while(code!=EOF){}来实现“无限”循环
#include <stdio.h>int main(){ char a,b,c; char t; while(scanf("%c%c%c",& ...
- 设置搜狗输入法在任何时候按左右两侧的shift激活
如上图,搜狗输入法for linux最近与广大用户见面了,现在的版本是1.0.0.0014,本人系统是ubuntu 14.04非麒麟版本 使用过程中有个习惯就是在任何窗口内只要按任意一侧的shift就 ...
- CAD字体显示错乱问题解决方案
最近这两天一直在画竣工图,用CAD用得挺多的,所以老是发现一些问题.今天在打开别人发过来的图纸时,我看到竟然还有钢筋符号无法显示…… 像这种问题的解决,据我所知就两种方法: 一.替换使用的字体 首先选 ...
- 微软职位内部推荐-Senior Software Development Engineer H/F
微软近期Open的职位: Microsoft Engineering Center Paris (Xbox Music et Video) : Ingénieur en développement l ...
- 十个优秀的C语言学习资源推荐
学习C语言,需要一点一滴,沉下心来,找个安静的地方,泡上一杯咖啡,在浓郁的香味中一起品味她.-- Boatman Yang 人们通常认为计算机编程很烦,但是有些人却从中发现了乐趣.每一个程序员不得不跟 ...