2 T-SQL快速上手

本文介绍了T-SQL中的基本概念,包括标识符的种类、批处理的执行、注释的使用、常量与变量的区别以及运算符的运用。同时,详细讲解了流控制结构,如begin-end块、if-else条件判断、while循环、case语句和waitfor延迟,以及如何使用goto改变程序执行流程。文章适合初学者掌握T-SQL的基础知识。
摘要由CSDN通过智能技术生成


📖博主介绍


个人主页: Zinksl
编程社区: Zinksl编程酒馆
个人格言: 想法落实的最佳时机就是现在!🏄

如果你 喜欢交流热爱分享欢迎加入编程社区交流群 大家一起学习技术,交流心得,共同进步🚅


思维导图


1 基本概念

1.1 标识符

概念:数据库对象的名称

1.2 标识符的种类
种类说明案例
常规标识符不用分隔开的标识符
分隔标识符

1.3 批处理

批处理,是包含一个或者多个语句的组,从应用一次性发送到SQLserver执行,SqlServer将批处理的语句编译成一个可执行的单元,称为执行计划;

1.4 注释

被标注不执行的
单行注释:-- 注释内容

1.5 常量和变量

(1)常量也被称为文字量或标量值

  • 字符串常量:在单引号内
  • Unicode字符串:与普通字符串相似,前缀是大写N;
  • 二进制常量:前缀是0X且是十六进制数字字符串
  • bit常量:0和1
  • datetime常量:
  • integer常量:
  • money常量:前缀$

(2)变量,程序运行过程中可变的量

  • 局部变量:是用户自定义变量,它用DECLARE语句声明,作用范围仅在程序内部;局部变量名称以“@”开头;
-- 定义变量
DECLARE @count varchar(4),@count2 varchar(4)
-- 为变量赋值方式1,使用select一次可以赋值多个
select @count=8,@count2=6
-- 为变量赋值方式2,使用set一次只能赋值一个
set  @count = 9
select * from HrmResource where id=@count2;

  • 全局变量:是SqlServer系统内部事先定义好的变量,用户不能创建,修改;全局变量以@@开头
全局变量名作用备注
@@version查看数据库版本

1.6 运算符

包含:算术运算符、逻辑运算符、赋值运算符、连接运算符等与其他语言基本相同

比较运算符

核心作用主要用作用快速的条件查询

运算符作用
=判断相等
>大于
<小于
>=大于等于
<=小于等于
!= <>不等于
!

运算符优先级:
image.png

2 流控制

2.1 begin…end

用于将多个语句组合成一个逻辑块;必须成对使用

BEGIN
	-- SQL语句块
END

2.2 if…else

用于分支

-- 定义变量
declare @temp int
-- 为变量赋值
set @temp = 77
 -- if...else语句执行
if @temp>88
	print '很大的数'
else
	print '数不够大'

2.3 while

循环

-- 求1-10的和
-- 定义变量
declare  @numb int,@numb2 int
select @numb = 1,@numb2 = 0
-- while循环
while @numb < 11
begin
	set @numb2 = @numb+@numb2
	set @numb = @numb+1
	print @numb2
end

2.4 case

根据表达式的真假来确定是否返回某个值,
T-sql 判断相等用“=”

-- 输入1-7打印对应的星期
declare @week int,@temps varchar(50)
set @week = 2
set @temps =
case 
	when @week = 1
		then  '星期一'
	when @week = 2
		then  '星期二'
	when @week = 3
		then  '星期三'
	when @week = 4
		then  '星期四'
	when @week = 5
		then  '星期五'
	when @week = 6
		then  '星期六'
	when @week = 7
		then  '星期天'
	else  '输入有误'
end
print @temps

2.5 waitfor

waitfor延迟语句将它之后的语句在一个指定时间间隔之后执行;
waitfor delay ‘time’
delay:设定等待时间最多24小时
time:设定结束时间点,数据类型必须是datetime "hh:mm:ss"不能包含日期


-- 3秒后输出,hello Word
-- 方式一
waitfor delay '00:00:03'
print 'hello word'
-- 方式二
waitfor time '15:58:40'
print 'hello word'

2.6 goto

用于改变,程序执行的流程,跳到标识符指定的程序再继续往下执行

-- 使用goto 输出1-3
declare @numb int
set @numb = 1
temp:
	print @numb
	set @numb = @numb+1
while @numb<4
goto temp
  	

结尾彩蛋

认真分享技术,记录学习点滴若内容对你有用可以鼓励一下🍻方式如下
点赞:👍 留言:✍收藏:⭐️

如有疑问欢迎评论区留言,或加入技术交流群:1002743802
关注我订阅专栏,会持续体系化更新哦👈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zinksl

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值