概述 |
可以創建,維護,保護數據可對象,並且可以操作對象中的數據,是一種完整的語言
分類:
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)