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 的特点 采用面向对象的编程方法和事件驱动的工作原理. 支持跨 ...
随机推荐
- RequireJS和seaJS的区别与联系
RequireJS和seaJS的区别与联系联系:都是模块加载器,倡导模块化开发理念,核心价值是让 JavaScript 的模块化开发变得简单自然. RequireJS(除了是 ...
- Alpha版使用说明书
游戏规则: 玩家是黑色的小煤球哦! 通过方向键或者ASDW,来控制小球移动(上.下.左.右). 累计时间,直到碰到了红色的小球 ...
- java EE中使用PO和VO的注意事项
1.基本定义 PO(Persistence Object 持久化对象)是直接跟持久层数据库打交道的java Bean (model,entity,bean等叫法都是可以的),里面除了私有的成员变量之 ...
- java 调用 sql server存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- 自定义Toast解决快速点击时重复弹出,排队无止尽
解决办法:自定义MyToast类: public class MyToast { /** 之前显示的内容 */ private static String oldMsg ; /** Toast对象 * ...
- JAVAWEB学习总结 HTTPSERVLETRESPONSE对象(二)
一.HttpServletResponse常见应用--生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类 步骤: 1. 在内存中创建一张图片 2.得到图片 ...
- 如何将C#类库做成COM
在类库项目的属性中, 选择生成, 最下方的"为COM的互操作注册"进行勾选, 并且将项目的Properties中, AssemblyInfo.cs中的[assembly: ComV ...
- C语言中关于对目录的操作
原文地址:C语言中关于对目录的操作 目录的操作不论是在嵌入式产品还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,笔者主要是讨论在Linux平台下对目录的一系列操作: 1.获取当前目录操作: ...
- CEPH经常出现slow request的排查解决
现象: 通过ceph -w日志经常发现有request blocked的问题(如果虚拟机系统跑在ceph上时,就会发现严重的卡顿现象) 排查: 1.通过dstat未发现有明显的瓶颈 (dstat -t ...
- 使用第三方框架vapor和swift 搭建本地服务器
在网上看到一篇教程,使用vapor搭建服务端,自己记录下来备忘本文主要记录以下几点 1.配置好Vapor 2.用Swift写GET,POST方法,返回JSON数据 3.配置本地服务器,编译运行在浏览器 ...