15、sql编程基本语法介绍

版权声明:chaizepeng https://blog.csdn.net/chaizepeng/article/details/87883281

使用sql也可以像java一样进行程序编写,说到编程,就离不开变量和流程控制,接下来介绍一下

变量

sql中的变量可分为系统变量和自定义变量

系统变量 用于控制服务器表现的变量
查看所有系统变量 show global  variables [like '%关键字%']; -- 查看全局变量
show session variables [like '%关键字%']; -- 查看会话变量
查看具体变量值 select @@变量名
修改全局级别变量 set global 变量名 = 值;
修改会话级别变量 set 变量名 = 值;或者 set @@变量名 = 值
自定义变量 会话变量 相当于一个自定义的全局变量,可以在存储过程、函数和触发器之外或之内使用
普通变量 相当于一个局部变量,只能在在存储过程、函数和触发器中使用
会话变量 可以在存储过程、函数和触发器之外或之内使用
定义

set @变量名 = 值 或者 set @变量名 := 值   

(建议使用:= ,myslq中=有的时候表示比较)

另外就是会话变量名都必须以@开头

实例 直接赋值

set @v_name =  'chaizpeng';

-- 查看变量值

select 变量名

查询赋值

-- 边查询边赋值,变量值是最后一条记录的值

select @czp_name := name from user;

扫描二维码关注公众号,回复: 5652772 查看本文章

-- 必须只返回一条记录

select name from user where id = 4 into @czp_name;

普通变量 相当于局部变量,只能在存储过程、函数和触发器中使用
定义

-- 和创建表时声明每一个字段格式差不多

declare 变量名 类型 

实例 这里先不写实例,因为存储过程或者函数还没有说,后续在函数或者过程的实例中会有体现

上边对变量做了详细的描述,接下来说一下流程控制,sql编程中的流程控制和java一样,有3种,分别是顺序流程、循环流程、条件流程。接下来详细说一下(顺序流程不介绍)

条件流程(分支结构)

sql中实现分支结构的方式有:if结构、case结构

if结构 条件判断,类似于java中的if判断
语法

-- 语句以if开头,end if; 结尾 

-- 判断完条件,要是用then来表示要执行符合条件的代码

if  判断条件 then 执行代码

elseif 判断条件 then 执行代码

else 执行代码

end if;

case结构 条件判断,类似于java中的case判断
语法 case 变量
when 值 then 满足条件代码;
when 值 then 满足条件代码;
else 其他代码;
end;

 循环流程(循环结构)

sql中实现循环结构的方式有:loop循环、while循环、repeat循环

loop循环 循环控制,一般使用条件来结束循环
语法

标签名:loop

循环执行的代码

if 条件 then
      leave 标签名  -- 退出循环

end if;
end loop;

while循环 sql只有while..do结构
语法

while 条件 do

     循环执行的代码

end while;

repeat循环  
语法 repeat
      循环执行的代码
until 条件 end repeat;

 在这里只介绍一下语法的使用,不给出使用的实例,因为没有什么意义,之后会在存储过程或者函数中给出实例

猜你喜欢

转载自blog.csdn.net/chaizepeng/article/details/87883281