数据库学习SQLServer第四章 T-SQL语句

T-SQL语句是标准SQL语句的增强版,原有的SQL语句是一种结构化查询语言

4.1.语句分类

1.变量声明语句
2.DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
3.DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
4.DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
5.流程控制语句
6.内嵌函数与自定义函数
SQLServer 一般作为后台数据库,配合其他高级语言,开发出各种数据库应用程序

4.2变量的声明与复制

1.声明语句

declare @变量名 int(变量类型)声明变量语句这是一个局部变量,以@开头
set @变量名=值 给变量赋值
select @变量名 用select显示变量的值

2.局部变量和全局变量

1.局部变量必须用@开头
2.用declare声明,也可以声明多个变量,格式为@变量名 类型,@变量名 类型;中间用逗号隔开
3.set是单一一个变量赋值
select 是同时为多个变量赋值
4.输出
如果输出一个变量用print
输出多个变量用select

3.运算符

大神的总结
Francis
单片机控制挖掘机炒菜不是梦

程序块概念
将一部分代码以begin开始,end结束
实例
–SQL的while循环,注意数据类型的转换

declare @num1 int,@sum int
select @num1=0,@sum=0
while @num1<=200
begin
set @sum=@sum+@num1
set @num1=@num1+1
end
select '200以内的整数和是'+convert(varchar(10),@sum)' 
--这里加号相当于字符串连接符,需要更改其数据类型

break语句的位置不同,计算的结果就不同,程序设计时灵活运用的技巧

declare @num1 int,@sum int
select @num1=0,@sum=0
while @num1<=200
begin
set @sum=@sum+@num1
if  @num1=30             --计算前30位的和
break
set @num1=@num1+1
end
select '以内的整数和是'+convert(varchar(10),@sum)
declare @num1 int,@sum int
select @num1=0,@sum=0
while @num1<=200
begin
set @sum=@sum+@num1
set @num1=@num1+1
if  @num1=30             --计算前29位的和
break
end
select '以内的整数和是'+convert(varchar(10),@sum)

continue 语句

declare @num1 int,@sum int
select @num1=0,@sum=0
while @num1<=200
begin
set @sum=@sum+@num1 
if  @num1=100     --当等于100时,continue跳出循环,
continue              --计算200以内的整数和,但不包括10
set @num1=@num1+1           
end
select '运算结果0'+convert(varchar(10),@sum)

最大的区别在于break一出现跳出整个循环,之后语句不再运行,整个循环中断。
continue一出现,只跳出这一轮循环,跳出后继续执行while
具体可参考别人总结的小实例
while break continue

4.go to 语句改变程序流程,实现位置跳转。

Goto语句可以让程序跳转到一个指定的标签处并执行其后的代码。Goto语句和标签可以在程序批处理和语句块中的任意位置使用,也可以嵌套使用。

--要实现显示第一行后直接显示第三行
print 'Goto语句测试'
goto test_Target
print'当前无Goto跳转'
test_Target:
print'我是教程'   --Goto直接跳转到test_Target:标签位置

goto语句学习及使用注意事项
(https://www.cnblogs.com/ylbtech/archive/2012/12/25/2832112.html)

declare @num1 int,@sum int
select @num1=0,@sum=0
test_target:
    set @num1=@num1+1
	set @sum=@num1+@sum
    while @num1<200 goto test_target    
select '200以内的整数和是'+convert(varchar(10),@sum)

用if获while判断,是否跳转执行test_target标签

猜你喜欢

转载自blog.csdn.net/l654247808/article/details/84037900