概述 |
可以创建,维护,保护数据可对象,并且可以操作对象中的数据,是一种完整的语言
分类:
1.数据定义语言
2.数据操纵语言:增删改查
3.数据控制语言:对数据安全性进行控制
其他常用类型:
1.事务管理语言
2.流程控制语言
3附加的语言元素
常量与变量 |
常量:具体的值,比如数字1,不需要使用声明语句
变量:全局变量:是系统内置的,无法声明
局部变量:系统提供给用户自己进行声明的类型
声明:
DECLARE
{@local_variable[AS]data_type
|@cursor_variable_name CURSOR
}[,...n]
要给声明的局部变量复制,可以使用SET或SELECT语句:
SET@local_variable=expression
SELECT@local_variable=expression[,...n]
declare声明变量的开始
运算符 |
算术运算符:+,-,*,/,%
比较运算符:=,>,<,>=,<=,<>,!=,!<,!>
位运算符:&,|,^
逻辑运算符:
其他运算符:
赋值运算符
连接运算符
一元运算符
注释:
注释方式
单行注释:–
多行注释:/*… /
语句 |
IF…ElSE语句
IF Boolean_expression
{sql_statement|statement_block}
ELSE
{sql_statement|statement_block}
case语句
CASE input_expression
WHEN when_expression THEN result_expression
[...n]
[ELSE else_result_expression]
END
WHILE语句
WHILE Boolean_expression
{sql_statement|statement_block}
[BREAK]
{sql_statement|statement_block}
[CONTINUE]
{sql_statement|statement_block}
WAITFOR延迟语句
WAITFOR
{
DELAY time
|TIME time
}
GOTO语句
跳转语句,有选择的跳转到程序的某一位置
再T-SQL语句中使用GOTO语句的前提,就是再T-SQL语句中创建一些标签,设置一些IF语句,进行判断,当条件成熟时,使用GOTO语句跳转到标签。
有重复语句出现时,使用标签,用Goto语句跳转
TRY…CATCH错误处理语句
BEGIN TRY
{sql_statement|statement_block}
END TRY
BEGIN CATCH
{sql_statement|statement_block}
END CATCH
函数 |
数学函数:
函数 | 描述 |
---|---|
ABS | 返回数值表达式的绝对值 |
EXP | 返回指定表达式以e为底的指数 |
LN | 返回数值表达式的自然对数 |
log | 返回数值表达式以10为底的对数 |
CEILING | 返回大于或等于数值表达式的最小整数 |
FLOOR | 小于或等于的最大整数 |
SQUARE | 返回数值表达式的平方 |
SQRT | 返回数值表达式的平方根 |
字符串函数:
聚合函数:
AVG 所有列数值的平均值
COUNT 查询语句结果记录数
MAX 最大值
MIN 最小值
SUM 返回所有列数值的和
标量值函数:
CREATE FUNCTION function_name
([{@parameter_name scalar_parameter_data_type[=default]}[,...n]])
RETURNS scalar_return_data_type
[WITH ENCRYPTION]
[AS]
BEGIN
function_body
return scalar_expression
END
用户自定义函数:
分为三类:
1.标量值函数
2.表值函数
3.多语句表值函数
表值函数:
CREATE FUNCTION function_name
([{@parameter_name scalar_parameter_data_type[=default]}[,...n]])
[WITH ENCRYPTION]
[AS]
RETURN(select_statement)