1. 概述
SQL Server 使用图形界面能够完成的所有功能都能利用 T-SQL 来实现;
使用 T-SQL 操作时,与 SQL Server 通信的所有引用程序都通过向服务器发送 T-SQL 语句来进行,而与应用程序的界面无关;
T-SQL 由多种应用程序生成,主要包括 9 个部分:
- 通过办公生产应程序;
- 使用通用语言语句确定用户所要查询数据的应用程序;
- 使用图形用户界面 GUI 的应用程序,使用户得以选择包含要查看的数据的表和列;
- 将其数据存储与 SQL Server 数据库中的商用应用程序;这些应用程序即可以是来自其他厂商的应用程序,也可以是内部编写的应用程序;
- 使用 osql 等实用工具运行的 T-SQL 脚本;
- 由开发系统施一公数据库应用程序的借口(API,如 ADO、OLE DB 以及 ODBC)创建的应用程序;
- 从 SQL Server 数据库提交取数据的 Web 页;
- 分布式数据库系统,在此系统中将数据从 SQL Server 复制到各个数据库或执行分布式查询;
- 数据库仓库,从联机事务处理(OLTP)系统中提取数据,以及对数据汇总以进行决策支持分析,均能在此仓库中进行;
2. T-SQL 语言的组成
T-SQL 作为一种过程语言,除了与数据库建立连接、处理数据外,还具有过程型语言的元素组成:批处理命令、标识符、系统函数、表达式、变量、数据类型、运算符、流程控制语句、注释、保留关键字等;
T-SQL 支持的几种过程语言元素:
-
注释
注释 是程序代码中不执行的文本字符串(也称为注解);
在 SQL Server 中,可使用两种类型的注释字符:一种是 ANSI 标准的注释符 “–”,其用于单行注释;另一种是与 C 语言相同的程序注释符号,即 “/**/”,用于多行注释; -
变量
变量 是语言中必不可少的组成部分;T-SQL 语言中有两种形式的变量,一种是用户自定义的局部变量,局部变量是一个能拥有特定数据类型的对象,其作用范围仅限制在程序内部;
局部变量能作为计数器来计算循环执行的次数,或控制玄幻执行的次数;利用局部变量还能保存数据值,以供控制流语句测试以及保存由存储过程返回的数值等,局部变量被引用时要在其名称前加上标志“@”
,且必须先用DECLARE
命令定义后才能使用;
另一种是系统提供的全局变量,全局变量是 SQL Server 系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序都能随时调用;全局变量通常存储一些 SQL Server 的配置设定值和统计数据;
用户能在程序中用全局变量测试系统的设定值或 T-SQL 命令执行后的状态值; -
运算符
运算符是一些符号,其能够用来执行算术运算符、字符串连接、赋值和在字段、常量、变量之间进行比较;
在 SQL Server 中,运算符主要有六大类:算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串串联运算符;
T-SQL 也是流程控制语句的重要组成部分之一,T-SQL 程序块离不开流程控制;
3. T-SQL 语句结构
T-SQL 引用的语法关系图如下:
4. T-SQL 语句
利用 T-SQL ,用户可创建数据库设备、数据库和其他数据库对象,从数据库中提取数据数据、修改数据,也能动态地更改 SQL Server 中的设置;
按功能分类,SQL 语言主要包括:数据操纵语句、数据定义语句、数据控制语句;
- 数据操作语句(DML):主要包括对象数据库数据的查询、插入、删除、修改操作;
- 数据定义语句(DDL):用于定义所存放数据库中的结构和组织,以及数据项之间的关系,如表、视图、触发器和存储过程等;
- 数据控制语句(DCL):包括数据的存储控制和完整性控制,以防止非法用户对数据的使用和破坏;
4.1 数据定义语句(DDL)
数据定义语句用于执行数据的任务,对数据库以及数据库中的各种对象进行创建、删除、修改等操作;
DDL 包括的主要语句及功能如下表:
4.2 数据操作语句(DML)
数据操作语句用于操作数据库中各个对象、检索和修改数据;
DML 包括的主要语句及功能如下表:
4.3 数据控制语句(DCL)
数据控制语句用于安全管理,确定哪些用户能查看或修改数据库中的数据,DCL 包括的主要语句及功能如下表: