-
SQL Server 2008教程之使用Transact-SQL编程
使用Transact-SQL编程
Transact-SQL(简称T-SQL)是ANSI标准SQL数据库查询语言的一个强大实现,是一种数据定义、操作和控制语言。Transact-SQL是SQL Server编程的重要工具,也是SQL server编程的基础。无论是数据库管理员还是数据库程序设计员,都必须熟练掌握该语言,以进行数据库设计、维护和编程,与SQL Server进行交互工作,从而构建高效的数据库应用程序。
本章将介绍T-SQL编程语言,及其语法元素和语句类型。同时,也将介绍通过T-SQL编程管理数据库事务,来实现维护数据库的一致性和完整性的目的;通过T-SQL编程创建锁,以解决发生事务并发问题等高级编程操作。
本章学习目标:
Ø 了解T-SQL语言类型
Ø 掌握T-SQL编程语法
Ø 熟悉PIVOT和UNPIVOT操作符的使用
Ø 掌握事务的概念及其运用
Ø 了解事务产生的并发问题
Ø 了解锁模式及如何查看锁
Ø 掌握游标的声明及使用
4.1 Transact-SQL概述
Transact-SQL语言是一种交互查询语言,具有功能强大、简单易学的特点。该语言是结构化查询语言(SQL)的增强版本,与多种ANSI SQL标准兼容,而且在标准的基础上还进行了许多扩展。4.1.1 Transact-SQL语言与SQL语言
Transact-SQL语言是微软公司对SQL语言的扩展。不同的数据库供应商一方面采纳SQL语言作为自己数据库的操作语言,另一方面又对SQL语言进行不同程度的扩展,而这些扩展往往又是SQL语言的下一个版本的主要实践来源。接下来,我们先来对SQL语言进行简单的介绍。SQL(Structure Query Language,机构化查询语言)是国际标准化组织(ISO)采纳的标准数据库语言。该语言是由美国国际标准协会(ANSI)和国际标准化组织(ISO)定义的标准,Transact-SQL是Microsoft公司对此标准的一个实现。
Transact-SQL语言既允许用户直接查询存储在数据库中的数据,也可以把语句嵌入到某种高级程序设计语言中来使用,例如可以嵌套到Microsoft Visual C#.NET语言中。Transact-SQL在关系数据库管理系统中,可以实现数据的检索、操纵和添加等功能,它同其他程序设计语言一样,有自己的数据类型、表达式、关键字等。当然,该语言与其他语言相比,要简单得多,主要有如下4个特点。
l 一体化 Transact-SQL语言集数据定义语言、数据操纵语言、数据控制语言元素为一体。其中,附加语言元素不是标准SQL语言的内容,但是它增加了用户对数据库操纵的灵活性和简便性,从而增强了程序的功能。
l 使用方式 Transact-SQL语言有两种使用方式,即交互使用和嵌入高级语言使用。统一的语法结构使Transact-SQL语言可用于所有用户的数据库活动模型,包括系统管理员、应用程序员、决策支持系统管理人员以及许多其他类型的终端用户。
l 非过程化语言 Transact-SQL语言只需要提出“干什么”,不需要指出“如何干”,语言的操作过程有系统自动完成。另外,Transact-SQL语言不要求用户指定对数据的存储方法,所有的Transact-SQL语句都使用查询优化器,用以指定数据以最快速度存取手段。
l 人性化 Transact-SQL语言继承SQL语言易学易用的特点,并符合人们的思维方式,因此非常容易理解和掌握。
4.1.2 Transact-SQL语言类型
在SQL Server 2008系统中,Transact-SQL可以创建、维护、保护数据库对象,并且可以操作对象中的数据,所以Transact-SQL语言是一种完整的语言。根据Transact-SQL语言的执行功能特点,可以将Transact-SQL语言分为三种类型:数据定义语言、数据操纵语言和数据控制语言。1.数据定义语言
数据定义语言(Data Definition Language,DDL)是T-SQL中最基本的语言类型,它用于创建数据库和各种数据库对象,如表、视图、存储过程等。创建了数据库对象后,才可能为其他语言的操作提供所要使用的对象。
在数据定义语言中,主要的T-SQL语言包括CREATE语句、ALTER语句和DROP语句。CREATE语句用来创建数据库及各种数据库对象;ALTER语句用来修改数据库及其他数据库对象;DROP语句则用来删除数据库及数据库对象。
2.数据操纵语言
数据操纵语言(Data Manipulation Language,DML)是用来操纵数据库中的数据语句。当使用数据定义语言创建了数据库及表后,使用数据操纵语言便可以实现在表中查询、插入、更新、删除数据等操纵。数据操纵语言主要包括的语句有:SELECT语句、INSERT语句、UPDATE语句、DELETE语句、CURSOR语句等。
3.数据控制语言
数据控制语言(Data Control Language,DCL)是用来确保数据库安全的一系列语句。例如,给不同的用户设置不同的权限,访问并使用不同的数据内容。数据控制语言就是用于控制数据库组件的存取许可、存取权限等以解决涉及到权限管理的问题,其主要包括GRANT、REVOKE、DENY等语句。GRANY语句可以将指定的安全对象的权限授予相应的主体,REVOKE语句则删除授予的权限,DENY语句拒绝授予主体权限,并且防止主体通过组或角色成员继承权限。
另外,除了上面T-SQL语言的三种基本类型外,还有三种常用的类型:事务管理语言、流程控制语言和附加的语言元素。
在数据库中执行操纵时,经常需要多个操作同时完成或者同时取消。例如,两个帐号之间的转帐操作,必须保证款项从一个帐号转出的同时,进入到另一个帐号中。如果在操作过程中一方取消转移,那么两边应该同时撤销操作。事务便是可以实现操作同时完成或同时取消的操作。在事务中的操作要么全部完成,要么全部失败。而用于事务管理的语句就是事务管理语言。在事务管理语言中,COMMIT语句用于提交事务;ROLLBACK语句用于回滚操作,即撤销执行操作。
流程控制语言是用于设计应用程序的语句,如IF、WHILE、CASE语句等。
Transact-SQL附加语言元素不是SQL的标准内容,而是Transact-SQL语言为了编程方便而增加的语言元素。这些语言元素包括变量、运算符、函数、流程控制语句和注释等内容。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式