第3章 T-SQL语言简介
3.1 为什么要学习T-SQL语言
在第1和第2章中我们已经介绍了如下几个SQL语句:
(1)create database <数据库名>
(2)drop database <数据库名>
(3)create table <表名>(…)
(4)drop table <表名>
它们是SQL语句家族中的几个语句,为了实现对数据库表的查询,视图、索引等的建立与操作,也为了以后更深入地理解、掌握SQL Server数据库管理系统中的数据类型、系统函数、变量、控制语句等,我们要在本章节中学习T-SQL语言。
3.1.1 SQL
SQL(Structured Query Language,结构化查询语言)是一种介于关系代数与关系演算之间的语言,SQL语句可以用来执行创建和删除数据库、数据表,创建索引,更新数据库中的数据,从数据库中提取数据等各种操作。其功能包括查询、操纵、定义和控制4个方面,是一种通用的功能极强的关系数据库标准语言。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用。SQL语言是一种非过程化的语言,在SQL语言中,指定要做什么而不是怎么做,不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。我们可以在设计或运行时对数据库对象使用SQL语句。
SQL语言是1974年提出的,由于它具有功能丰富、使用方式灵活、语言简洁易学等突出优点,在计算机工业界和计算机用户中备受欢迎。1986年10月,美国国家标准局(ANSI)的数据库委员会批准了由SQL作为关系数据库语言的美国标准。1987年6月国际标准化组织(ISO)将其采纳为国际标准,这个标准称为“SQL86”。随着SQL标准化工作的不断进行,相继出现了“SQL89”、“SQL2”(1992)、“SQL3”(1993)。SQL成为国际标准后,对数据库以外的领域也产生了很大影响,不少软件产品将SQL语言的数据查询功能与图形功能、软件工程工具、软件开发工具、人工智能程序结合起来。
3.1.2 T-SQL与SQL的区别
MS SQL Server 2008中使用的SQL被称为Transact-SQL,简称T-SQL,T-SQL是Microsoft在标准SQL语言基础上创建的符合SQL Server特点的数据库访问语言,一直以来就是SQL Server的开发、管理工具。SQL Server 2008版本提供了很多增强功能,包括错误处理、递归查询、对SQL Server数据库引擎功能的支持等。虽然SQL Server客户端程序提供了很多图形化的管理工具和配置工具,但最终仍然是向服务器发送Transact-SQL命令,管理、配置界面只是收集了Transact-SQL命令参数的途径。
3.1.3 T-SQL组成
T-SQL包含了标准SQL的全部语句,虽然做了更多的扩充,但仍然有类似的分类。
(1)数据定义语言(Data Definition Language)。数据定义语言简称DDL,用来创建、删除数据库和数据库对象。其中大部分命令以create、drop开头,如create database、create table、create view、drop database、drop table等语句。
(2)数据操纵语言(Data Manipulation Language)。数据操纵语言简称DML,是用来对数据库的数据进行查询、更新的命令,如select、insert、update和delete等语句。
(3)数据控制语言(Data Control Language)。数据控制语言简称DCL,是用来控制数据库组件存取许可、存取权限等的命令,如grant和revoke等语句。
(4)流程控制语言(Flow Control Language)。流程控制语言简称FCL,是用来设计应用程序的语句,如if、while、case等语句。
T-SQL是用命令的方式管理数据库对象的语句。