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.过滤定位
随机推荐
- iOS学习之UI可视化编程-StoryBoard
一.StoryBoard与xib 对比: 相同点:都属于IB编程的方式,可以快速构建GUI. 不同点:xib侧重于单文件(单独的控制器或者视图)编辑,storyboard侧重于多页面关联.storyb ...
- 关于SVN 目录结构,使用教程
SVN使用教程:http://www.cnblogs.com/armyfai/p/3985660.html Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn ...
- 运算符 swift
1nil聚合运算符 nil coalescing operator a ?? b ==>a!=nil ? a! : b 要求: 1a是一个可选类型 2b必须和a解包后类型一致 var userN ...
- SQL Server 2008 没有可用于 charge_sys_Log.LDF 的编辑器
因为上网问题重新装了系统.今天在整 SQL Server 的时候出现了这样一个问题. 因为之前装 SQL Server 的时候没有遇到过这种情况,感觉很新奇.所以详细的记录一下,希望对别人能有一定 ...
- 基于.net mvc的校友录(六、codefirst的使用以及班级模块的关键部分实现)
通过EF将新用户存入数据库 这里,探讨一下如何使用EF的code first将数据存入数据库,以及如何对用户的密码进行md5加密与验证.下面是用户登陆的前台代码. @using (Html.Begin ...
- Java学习笔记--反射
什么是Java反射 概念 java反射是指java能够在运行时确定类的类型信息,包括其方法.字段.构造函数等,并能够通过反射调用类或者类对象的方法.在Java中,java.lang.Class类与ja ...
- C++(MFC)编程中遇到的的一些函数
memset void memset( void dest, int c, size_t count ); dest: Pointer to destination c: Character to s ...
- Careercup - Microsoft面试题 - 5700293077499904
2014-05-12 00:02 题目链接 原题: For a given map (ie Bing map) given longitude/latitude/ how would you desi ...
- adb怎么判断是否有root权限,并更改system/app内容
一.首先判断root权限: adb root 结果: C:\signapp>adb root restarting adbd as root # 说明有root权限 ,若是adbd cannot ...
- 6-Highcharts曲线图之带标识
<!DOCTYPE> <html lang='en'> <head> <title>6-Highcharts曲线图之带标识</title> ...