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 的特点 采用面向对象的编程方法和事件驱动的工作原理. 支持跨 ...
随机推荐
- RankLib参数翻译
写在前面,metric2t指标详解: NDCG(Normalized discounted cumulative gain)即DCG/IDCGCG(cumulative gain)DCG(Discou ...
- JDBC操作步骤及数据库连接操作
http://blog.csdn.net/joywy/article/details/7731305
- EasyUI使用JSON保存数据
目前来说,使用JSON保存数据比较方便,前台可以不用Test.aspx 页面,可以直接用Html页面,使用.aspx页面的弊端就不在这里熬述. 具体步骤如下: 1.新建一个Html页面,命名为Test ...
- Android计算器尝试
学了一段时间Android了,一直都是在看,没有什么尝试,刚好最近大致学会了gridview配合simpleadpter的使用,于是想着动手练习一下,就选择了写一个最简单的计算器来实现. 只包含+-* ...
- 如何解决Selenium中"Cannot find function addEventListener in object [object HTMLDocument]"的错误
project: blog target: how-to-resolve-cannot-find-function-addEventListener-error-in-selenium.md stat ...
- list排序
今天要对List排序,上网查了很多方法都感觉比较麻烦,现在终于找到了两种比较简便的方式,在此写出来,防止忘记!同时供大家参考! using System; using System.Collectio ...
- HTML5在VS2010中的智能提示
按照baidu首页的方法是行不通的,于是尝试下面的方法 原文来自这里,我翻译以下 下载这个文件 this archive 并解压. 复制 html_5.xsd to D:\Program File ...
- 动态生成tr,并将其下控件的值拼接后传到后台并保存
有两个表(主表和子表),现在需要根据主表某一个字段动态的生成记录(一条记录就一个tr),然后再讲tr下控件的各个值取出来,传到后台,并保存到子表. html代码: <!--#for(Record ...
- JQuery的一些简单操作02
一.遍历 1.向下遍历,children.find children只能向下遍历儿子节点的所有元素,find遍历当前元素下面的所有子节点 2.向上遍历,parent,parents,parentsUn ...
- 关于HTML标签那些事儿
关于html相信对于每一个互联网从业者来说实在熟悉不过的一个名词,特别是web前端工程师来说更是基础中的基础.html是hyper text markup language的首字母缩写,翻译过来就是超 ...