是微软对SQL的扩展,具有SQL的主要特点,同时增加了变量、运算符、函数、流程控制和注释等语言元素。
T-SQL语句分类
1.变量声明:T-SQL语句中可以使用两种类型的变量:局部变量(标识符:@)和全局变量(标识符:@@)
2.数据定义语言(Data Definition Language,DDL),用来建立数据库及数据库对象,绝大部分以CREATE开头.
3.数据控制语言(Data Control Language,DCL),用来控制数据库组件的存取许可,权限等命令.
4.数据操作语言(Data Manipulation Language,DML),用来操作数据库中数据的命令(SELETCT,UPDATE等).
5.流程控制语言(Flow Control Language,FCL),用于控制应用程序流程的语句(IF,CASE等).
1.嵌入行内的注释语句: 用 --
2.块注释语句:用 " /* " 和 " */ "
包含一条或多条T-SQL语句的语句组,这组语句从应用程序一次性地发送到SQLServer服务器执行.SQL Server服务器将批处理语句编译成一个可执行单元,这种单元称为执行单元.
在语句末尾添加"GO"标志着批处理的结束.
1.声明变量
DECLARE {@变量名 数据类型 [,...n]}2.变量赋值
SET @变量名 = 值 SELECT @变量名 = 值set一次只能赋一个值,select一次可以赋多个值
3.局部变量的作用域
从声明变量开始的地方到声明变量的批处理或存储过程的结尾.
4.局部变量的应用
(1)作为计数器计算循环执行的次数或控制循环执行的次数.
(2)保存数据值以供控制语言测试.
(3)保存存储过程要返回的数据值或函数返回值.
(1)全局变量不是由用户的程序定义的,它们是在服务器级定义的.
(2)用户只能使用预先定义的全局变量.
(3)引用全局变量时,必须以标记符"@@"开头.
常用全局变量
@@ERROR返回执行上一个T-SQL语句的错误代码数量,并覆盖上上次的错误代码的次数@@IDENTITY返回上次插入的标识值,并覆盖上上次的标识值@@ROWCOUNT返回受上一语句影响的行数.并覆盖上上次的行数记录@@SERVERNAME返回运行SQL Server的本地服务器的名称
PRINT语句:以文本形式输出.
语法:
PRINT {字符串 | 变量 | 函数 | 字符串表达式}SELECT语句:以网格形式输出.
条件判断语句.
语法:
IF(条件表达式) 语句或语句块 ELSE 语句或语句块定义语句块,使用控制流程关键字BEGIN和END.
语法:
IF(条件表达式) BEGIN ...语句 END ELSE BEGIN ...语句 ENDIF...ELSE可以嵌套使用,而且嵌套层数没有限制.
格式一:简单CASE格式:将某个表达式与一组简单表达式进行比较,以确定结果.
语法:
CASE 测试表达式 WHEN 表达式 THEN 结果表达式1 [...n] [ELSE 结果表达式n] END格式二:搜索CASE格式:计算一组布尔表达式,以确定结果.
语法:
CASE WHEN 布尔表达式 THEN 结果表达式1 [...n] [ELSE 结果表达式n] END若要定义语句块,则需要使用BEGIN和END将语句括起来.
常用的子查询有:
使用比较运算符(>,<,=等)的子查询:引入的子查询必须返回单个值而不是值列表.
IN 和 NOT IN 子查询:引入的子查询结果是包含零个值或多个值的列表.
EXISTS 和 NOT EXISTS子查询:子查询返回的行是否存在.
语法:
WHILE [NOT] EXISTS (子查询)
转载于:https://www.cnblogs.com/huangkeming-web/archive/2013/05/19/3072784.html