4.Transact_Sql语言基础

语法约定

 

标识符

自定义常规标识符(合法的命名)

-字母开头或其他语言字符_,@,#开头的

分割标识符(当标识符中有空格,不符合基本规则的符号,系统保留字时,用分隔符标识)-""、[]

自定义标识符

(1)标识符的首字符必须是下列字符之一 。
统一码(Unicode)2.0标准中所定义的字母,包括拉丁字母a-z和A-Z, 以及其他语言的字母字符。 下划线“_”、符号“@”或者数字符号“#”。
(2)标识符的后续字符可以是以下3种。
统一码(Unicode)2.0标准中所定义的字母。 来自拉丁字母或其他 国家/地区脚本的十进制数字。 “@”符号、美元符号“$”、数字符 号“#”或下划线“_”。
(3)标识符不允许是Transact-SQL的保留字。
(4)不允许嵌入空格或其他特殊字符
 
分隔符
 双引号(“”)内的标识符
 方括号([ ])内的标识符
• 该标识符可以不符合标识符的格式规则,如[MR GZGLXT]、MR和GZGLXT之间含有空格,但因为使用 了方括号,所以视为分隔标识符。例如: [USER]
• 注意:常规标识符和分隔标识符包含的字符数必须 在1~128之间,对于本地临时表,标识符最多可以有 116个字符。

 

系统保留字

与其他许多语言类似,SQL Server 2014使用了180多个保留关键字(Reserved Keyword)来定义、 操作或访问数据库和数据库对象。
这些保留关键字是T-SQL语法的一部分,用于分 析和理解T-SQL语言,包括DATABASE、 CURSOR、CREATE、INSERT、BEGIN等。
一般地,不能使用这些保留关键字作为对象名称 或标识符。
 
常量
常量是其值在程序运行过程中保存不变。
1.字符串常量
‘hello’.‘安阳市’、N’河南省’(Unicode常量)
2.数值型常量
整型常量 500、 899、 0x23(十六进制数)
实数型常量
定点数常量 3.6415
浮点数常量 0.56E-3
3.日期时间型常量
‘1990/2/28’、’20-02-02’
4.货币型常量
56.45(在表中不加¥、$) ¥890、 $893
 
变量
变量是指在程序运行过程中随程序的运行而 变化的量,可以保存查询结果和存储过程返 回值,也可以在查询中使用。
全局变量
系统定义的、不必声明、直接使用
@@开头
例如:@@error (最后一个sql语句的错误号)
• 局 部变量
用户定义的,作用域仅在程序内部
DECLARE 变量名 变量类型
@开头
所有变量在声明后均设置初值为NULL
 
全局变量
 
变量赋值
有两种为变量赋值的方式:使用SET语句直接为变量赋值和使用SELECT语句选择表中的值来为变量赋值。语法格式如下:
格式1:使用SET语句赋值
SET 变量名称=表达式
格式2:使用SELECT语句赋值
SELECT 变量名称=表达式 [,…n]
说明:
表达式可以是任何有效的SQL表达式;
一个SELECT语句可以给多个变量赋值,而一个SET语句一次只能给一个变量赋值。
 
运算符
运算符的优先级
当运算符的级别不同时,先对较高级别的运 算符进行运算,然后再对较低级别的运算符 进行运算。当一个表达式中运算符的级别相同时,一般按照从左到右的顺序进行运算。 当表达式中有括号时,应先对括号内的表达式进行求值;若表达式中有嵌套的括号,则首先对嵌套最深的表达式求值。
 

 

表达式

字段表达式 在表名后的字段表达式
目标表达式 在select语句后的目标表达式
条件表达式、 在where语句后的条件表达式
条件表达式
1. 比较大小 >
2. 指定范围 between and
3. 集合 in
4. 字符匹配 like ‘<匹配串>’
5. 空值 is null
6. 多重条件 and or
 
通配符
T-SQL语言的通配符可以代替一个或多个字符,通配符必须与LIKE运算符结合使用。
 
注释
1. 单行注释
使用双连字符 “--” 作为注释符时,从双连字符开始到行尾的内容都是注释内容。
2. 多行注释
使用注释符“/* */” 作为多行注释符时,从开始“/*”到 “*/”之间的所有内容都为注释。
这些注释字符可用于多行文字或代码块。

 

数据定义语言DDL

数据定义语言DDL(Data Definition
Language):实现SQL的定义功能。用来定义数据库的逻辑结构,包括基本表、视图和索引。基本的DDL包括3类:即定义、修改和删除。
 
数据操纵语言DML
实现SQL的数据操纵功能。包括数据查询和数据更新两大类操作,其中,数据查询是指对数据库中的数据进行查询、统计、分组、排序等操作;数据更新包括插入、删除的修改3种操作。
 
数据控制语言DCL
用来向用户赋予/叏消对数据对象的控制权限,通过GRANT、REVOKE和DENY进行授权、回收或拒绝 访问。数据库的控制是指数据库的安全性和完整性控制。SQL的数据控制包括对基本表和视图的授权,完整性规则的描述以及事务开始和结束等控制语句。
 
其他基本语句
数据声明
变量声明 DECLARE 变量名称 数据类型
尿部变量的第一个字符必须为@;所有变量在声
明后均设置初值为NULL
数据赋值
两种方式赋值:SET和SELECT
SET @变量=值 (SET只能给一个变量赋值)
SELECT @变量1=值1,@变量2=值2,……
数据输出
PRINT 尿部变量(字符型类型)或字符串
SELECT 尿部变量 AS 自定义列名

数据控制语句

流程控制语句是用来控制程序执行和流程分支的语句。
BEGIN……END
IF……ELSE
CASE
WHILE (CONTINUE、BREAK)
GOTO
WAITFOR
RETURN
 
BEGIN……END )begin……end
可以将多条Transact-SQL语句组成的一个语句块,整个语句块可以看做一条语句。
BEGIN
{sql_statement |statement_block}
END
其中,{sql_statement |statement_block}是任何有效的Transact-SQL语句或语句块定义的语句 分组
 
if...else
 
case语句
1.简单Case语句
Case <条件判断表达式>
when 条件判断表达式结果1 then <Transact-SQL命令行或块
语句>
when 条件判断表达式结果2 then <Transact-SQL命令行或块
语句>
when 条件判断表达式结果n then <Transact-SQL命令行或块
语句>
else <Transact-SQL命令行或块语句>
end
 
2.Case 搜索语句
Case
when 条件表达式1 then <Transact-SQL命令行或块语句>
when 条件表达式2 then <Transact-SQL命令行或块语句>
when 条件表达式n then <Transact-SQL命令行或块语句>
else <Transact-SQL命令行或块语句>
end
 
 

while语句

 

waitfor语句

Waitfor语句用于挂起语句的执行,直到指定的时间点或者指定的时间间隔。
WAITFOR DELAY ’ time’|TIME ’ time’
作用:
(1)延迟一段时间间隔执行
(2)指定从何时起执行,用于指定触収语句块,存储过程以及事物执行时刻
 
return语句
 
• RETURN [整型表达式]
• RETURN语句用于从查询、存储过程或批处理中 无条件地退出,位于RETURN语句之后语句将不执
行。
• (1) 存储过程可以给调用过程或应用程序返回整型 值,当用于存储过程时,RETURN语句不能返回空值;
• (2) 系统存储过程返回0值表示成功,返回非0值表示失败。

 

 
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

double_lifly

点喜欢就是最好的打赏!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值