VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MongoDB >
  • 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语言为了编程方便而增加的语言元素。这些语言元素包括变量、运算符、函数、流程控制语句和注释等内容。

相关教程