2 T-SQL快速上手

简介: 标识符概念:数据库对象的名称

思维导图


5.jpg

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 运算符

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

比较运算符

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

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

运算符优先级:

6.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

2

3

4

5

6

7

8

9

10

-- 输入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


目录
相关文章
|
云安全 域名解析 安全
警惕主动外联!云防火墙检测拦截勒索、Muhstik僵尸网络等 Log4j2漏洞利用
近期,阿里云安全观测到,在 Apache Log4j2 漏洞攻击全程中,无论是在漏洞利用阶段,还是后续要进行验证和进一步的控制利用,大多涉及多次受害服务器的主动外联,云防火墙已陆续发现并拦截60余万次涉及勒索、挖矿家族的漏洞利用行为。
1310 0
警惕主动外联!云防火墙检测拦截勒索、Muhstik僵尸网络等 Log4j2漏洞利用
|
JavaScript 前端开发 数据处理
【Vue面试题二十八】、vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
这篇文章讨论了Vue中实现权限管理的策略,包括接口权限、路由权限、菜单权限和按钮权限的控制方法,并提供了不同的实现方案及代码示例,以确保用户只能访问被授权的资源。
【Vue面试题二十八】、vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
|
8月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
5月前
|
Windows
windowssystem32损坏怎么修复?
遇到Windows系统system32文件夹损坏的情况,可通过以下方法逐步修复:
|
存储 传感器 监控
物联网设备的远程监控与管理:技术与实践
【7月更文挑战第5天】物联网设备的远程监控与管理技术正逐步成熟,为企业和个人带来了前所未有的便利性和洞察力。通过实现设备的实时监控、远程操作、数据分析等功能,可以显著提高设备的运行效率和安全性。然而,面对系统集成、隐私安全、用户体验等挑战,我们仍需不断探索和创新,以推动物联网技术的持续发展和应用。
|
存储 机器学习/深度学习 缓存
一文弄懂Python字典的使用
Python是一门广泛应用于数据分析、机器学习等领域的语言,而字典作为Python中最常用的数据类型之一,也被广泛使用。本文将详细介绍Python字典的相关知识点,包括字典的基础用法、高级用法、原理、优缺点、性能评估、使用场景、小技巧等等。
355 4
|
存储 小程序 机器人
西安石油大学C++上机实验汇总
西安石油大学C++上机实验汇总
315 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的在线宠物用品交易网站附带文章和源代码
基于SpringBoot+Vue的在线宠物用品交易网站附带文章和源代码
191 0
|
安全 数据库
【Debian】配置aide入侵检测服务
基于debian系统。aide主要功能检测系统文件,当系统文件发生变化,如/etc/passwd文件出现差异,那么aide将会认为系统遭受入侵被增添用户
2483 0
|
人工智能
AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频(2)
AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频
1241 0