SQL SERVER 简介及应用 - 数据库系统原理
SQL SERVER 是一个分布式的关系型数据库管理系统(RDBMS),具有客户 - 服务器体系结构,一般发行的版本有企业版、标准版、个人版、开发版。
- SQL SERVER 提供的服务
- MS SQL Server:运行 SQL Server 的服务。
- SQL Server Agent:管理 SQL Server 周期性行为的安排,并在发生错误时通知系统管理员。
- Microsoft Server Service:提供一个全文本索引和搜索引擎。
- MS DTC:管理包含不同数据源的事务。
- SQL SERVER 的主要工具
主要有查询分析器、导入和导出数据、服务管理器、服务器网络实用工具、客户端网络实用工具、联机丛书、企业管理器、事件探查器、在 IIS 中配置 SQL XML 支持等 9 种工具。
企业管理器
企业管理器是用户管理 SQL SERVER 的主要管理工具和图形界面,它提供遵从 Microsoft 管理控制台 MMC 的用户界面。企业管理器几乎可以完成所有的管理工作,如管理登录帐号、数据库用户和权限、创建和管理数据库,创建和管理表、视图、存储过程以及用户自定义数据类型等。
- 创建存储过程
CREATE PROCEDURE proc1 AS
SELECT Sid, Name, Age FROM Student WHERE Area = 'Shanghai'
CREATE PROCEDURE proc2
@Iname varchar (40),
@phone varchar (12) OUTPUT
AS
SELECT @phone = phone FROM Student WHERE Name = @Iname
- 创建触发器
-- WITH APPEND 指定加密触发器的文本
CREATE TRIGGER <触发器名> ON <表 | 视图>
FOR { AFTER | INSTEAD OF} { INSERT | UPDATE | DELETE} [ WITH APPEND] [NOT FOR REPLICATION]
AS
IF (表达式)
BEGIN
<语句段>
END
- SQL Server 的验证模式:Windows 身份验证模式、混合验证模式。
T – SQL 语言
标准 SQL 的 DML 命令只能用于修改或返回数据,没有用于开发过程和算法的编程结构,也没有包含控制和调整服务器的数据库专用命令。因此,各功能完备的数据库产品都必须使用它们各自专有的 SQL 语言扩展来弥补标准 SQL 的不足之处。在 SQL Server 中,这种扩展称为 Transact - SQL,简称 T - SQL。
- T – SQL 批处理
由一条或多条 T – SQL 语句构成,以 CREATE 语句开始,用 USE 命令选定当前的数据库,用 EXEC 命令来调用存储过程。
- 变量
T – SQL 语言中,变量分为局部变量和全局变量两种。局部变量以单个字符“@”开头,由用户定义和维护;全局变量以两个“@@”字符开头,由系统定义和维护。变量声明用 DECLARE 命令,且要指定变量名和数据类型。为变量赋值使用 SET 命令和 SELECT 命令。
use pubs
declare @val1 int, @val2 varchar(50) -- 局部变量
select @val1, @val2 -- 结果:NULL NULL
set @val1 = 123
select @val2 = job_desc from jobs -- 返回多个结果时,变量被不断赋值,生效的是最后一个查询值
select @val1, @val2 -- 结果:123 Designer
go
select @val1, @val2 -- 结果:服务器:消息 137,级别 15,状态 2,行 1,必须声明变量 '@val1'
- 流程控制
- IF Boolean_expression SQL_statement | SQL_statement_block [ ELSE SQL_statement | SQL_statement_block ]
- Begin … End:将多条 SQL 语句封装为语句块
- While Boolean_expression [ SQL_statement | SQL_statement_block ]
- Goto:转移到同一个批处理或过程中的指定标签处。
declare @tmp int
set @tmp = 0
while @tmp < 5
begin
set @tmp = @tmp + 1
if @tmp = 2 continue
if @tmp = 4 break
print 'tmp:' + Str(@tmp)
end
print 'while end'
go
-- 执行结果为:(1)tmp:1 (2)tmp:3 (3)while end
goto Label1
print '1'
Label1:
print '2'
-- 执行结果为: 2
- 临时表
临时表和表变量用来在不同的对象之间传递数据或者为临时性的任务短时间保存数据。创建临时表用 CREATE 关键字,使用以一个(局部临时表)或两个(全局临时表)“#”开头的表名。临时表保存在 Tempdb 数据库中,局部临时表的生命周期很短暂,当创建它的批处理或者过程结束时,就会被删除。而全局临时表也与它相似,但作用域更广泛,所有用户都可以引用全局临时表,当最后一个引用它的会话结束后,才会被删除。
-- 创建局部临时表
create table #tmptable( id int primary key, value varchar (100))
-- 创建全局临时表
if not exists (select * from Tempdb where name='##tmptable')
create table ##tmptable( id int primary key, value varchar (20))
- 表变量
表变量与变量具有相同的作用域和生命周期。表变量保存在内存中。应尽可能使用表变量而不是临时表。
- 表变量的优点:
- 行为类似局部变量,有明确定义的作用域。
- 可像常规表那样使用。
- 在定义它的存储过程或批处理结束时,自动被清除。
- 在存储过程中使用表变量与临时表相比,减少了存储过程的重新编译量。
declare @vartable table( id int primary key, value varchar (20) )
insert into @vartable values ( 12, 'abc')
select * from @vartable
SQL SERVER 简介及应用 - 数据库系统原理的更多相关文章
- 深入解析 SQL Server 高可用镜像实现原理
作者:郭忆 本文由 网易云 发布. SQL Server 是 windows 平台 .NET 架构下标配数据库解决方案,与 Oracle.MySQL 共同构成了 DB-Engines Ranking ...
- 深入解析SQL Server高可用镜像实现原理
本文来自网易云社区 SQL Server 是windows平台.NET架构下标配数据库解决方案,与Oracle.MySQL共同构成了DB-Engines Ranking的第一阵营,在国内外企业市场中有 ...
- SQL Server 简介
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.是以一定方式储存在一起.能为多个用户共享.具有尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合. SQL S ...
- SQL Server三种表连接原理
在SQL Server数据库中,查询优化器在处理表连接时,通常会使用一下三种连接方式: 嵌套循环连接(Nested Loop Join) 合并连接 (Merge Join) Hash连接 (Hash ...
- SQL Server查询优化器的工作原理
SQL Server的查询优化器是一个基于成本的优化器.它为一个给定的查询分析出很多的候选的查询计划,并且估算每个候选计划的成本,从而选择一个成本最低的计划进行执行.实际上,因为查询优化器不可能对每一 ...
- SQL Server 统计信息(Statistics)-概念,原理,应用,维护
前言:统计信息作为sql server优化器生成执行计划的重要参考,需要数据库开发人员,数据库管理员对其有一定的理解,从而合理高效的应用,管理. 第一部分 概念 统计信息(statistics):描述 ...
- 第7讲:SQL Server简介
SQL Server是微软公司提供的一款关系数据库管理系统. 操作数据库有两种方式:SQL语句和可视化的SSMS,该文章所有操作均基于SSMS. 一.SSMS(SQL Server Managemen ...
- Microsoft SQL Server 简介
SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...
- PowerBuilder 简介及应用 - 数据库系统原理
PowerBuilder 是一种企业级数据库前端应用和多层体系结构开发工具,友好的用户界面,功能强大的数据窗口,是一个集成开发环境. PB 的特点 采用面向对象的编程方法和事件驱动的工作原理. 支持跨 ...
随机推荐
- 移动混合开发之android文件管理-->flexbox,webFont。
增加操作栏,使用felxbox居中,felx相关参考网址:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 使用webFont添加图标, ...
- php 画图片3
<?php // 中文验证码 // 1. 创建画布 $im = imagecreatetruecolor(200, 200); // 2. 创建背景色 // 2.1得到背景颜色 $bg_colo ...
- C语言程序设计第7堂作业
一.本次课主要内容: 本次以计算圆柱体体积为例,通过定义体积计算功能的函数和主函数调用的例子,引出函数定义的一般形式:函数首部加函数体,且在函数结尾处通过return 语句返回结果.本节要重 ...
- 北大poj-2688
Cleaning Robot Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4395 Accepted: 1763 De ...
- 电子表格控件Spreadsheet 对象方法事件详细介绍
1.ActiveCell:返回代表活动单元格的Range只读对象.2.ActiveSheet:返回代表活动工作表的WorkSheet只读对象.3.ActiveWindow:返回表示当前窗口的Windo ...
- NOIP 考前 Tarjan复习
POJ 1236 给定一个有向图,求: 1) 至少要选几个顶点,才能做到从这些顶点出发,可以到达全部顶点 2) 至少要加多少条边,才能使得从任何一个顶点出发,都能到达全部顶点 第一个就是缩点之后有多少 ...
- caffe 基本知识简介
很多不错的网页: 1.http://alanse7en.github.io/caffedai-ma-jie-xi-1/ 主要介绍基本caffe知识 interace 接口 API中的‘I’ Caffe ...
- chrome调试
今天对chrome调试又进行了系统的学习. Chrome调试工具developer tool技巧 把以前没有使用过的功能列举一遍. 伪类样式调试:伪类样式一般不显示出来,比如像调试元素hover的样式 ...
- PB代码动态解析执行器
当你看到VB.VFP等开发语言提供的强大的宏执行功能,是不是很羡慕呢?当你寻遍PB的帮助.关于PB开发的书籍或网站而不可得的时候,是不是感到有一丝的遗憾?如果你看到这篇文章,你应该感到振奋,因为你终于 ...
- travel for django
参考博客:http://www.cnblogs.com/wupeiqi/articles/5237672.html 一:框架的本质: 最原始的框架:服务端一个简单的socket,接收客户端发出的请求, ...