MySQL 变量 流程控制 游标

变量:系统VS用户

系统变量【@@】(global全局   VS  session会话 )

 属于服务器,启动MySQL服务,生成MySQL服务实例期间,MySQL将为系统变量赋值,

每一个MySQL客户机成功连接MysQL服务器后,都会产生与之对应的会话。会话期间,MySQL服务实例会在MySQL服务器内存中生成与该会话对应的会话系统变量,这些会话系统变量的初始值是全局系统变

 1全局系统变量针对于所有会话(连接)有效,但不能跨重启
  2会话系统变量仅针对于当前会话(连接)有效。会话期间,当前会话对某个会话系统变量值的修         改,不会影响其他会话同一个会话系统变量的值。
 3会话1对某个全局系统变量值的修改会导致会话2中同一个全局系统变量值的修改。

 

 查看系统变量

                  show global variables 【like '%表示符'】

                  show session  variables【like '%表示符'】

查看指定系统变量

                  select @@globl.变量名;

                  select @@session.变量名;

修改系统变量值

                  set @@global,变量名 = 值;

用户自定义变量【@】会话用户变量  VS  局部变量

用户自定义变量定义:

                    set @变量名 = 值;

                    select 表达式 into @用户变量  = 【fom子句】

查看用户变量

                    select @变量名;

局部变量

             定义:declare 作用域:begin ..放在第一行....end

                 

 定义条件与处理程序【了解即可】

           定义条件是事先定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。
           说明:定义条件和处理程序在存储过程、存储函数中都是支持的。
 

定义条件:declare 错误名称 condition for 错误码(错误条件)

 

 定义处理程序:declare 处理方式 handler for 错误类型 处理语句;

 

 流程控制

IF语句

基本语法:           if  表达式1(true|false) then 执行语句;

                             elseif 表达式2   then  执行语句;

                             else  执行语句;

                             end if;

                          

CASE 分支

case 表达式 

        when  数值1 then 执行语句;

        when  数值2 then 执行语句;

        else  执行语句;

end case;

 循环结构:

LOOP循环

【loop标签】loop

            循环体 (使用leave)

end loop 【loop标签】

 

 WHILE循环

【while标签】 while 循环条件 do 

               循环体

end while 【while标签】

REPEAT循环

【repeat标签】repeat

      循环体

      until 结束条件(直到满足退出)

end repeat【repeat标签】 

 LEAVE【跳转】 :与标签连用

 ITERATE   iterate:与continue作用相似

游标

        虽然我们也可以通过筛选条件WHERE和HAVING,或者是限定返回记录的关键字LIMIT返回一条记录,但是,却无法在结果集中像指针一样,向前定位一条记录、向后定位一条记录,或者是随意定位到某一条记录,并对记录的数据进行处理。


        这个时候,就可以用到游标。游标,提供了一种灵活的操作方式,让我们能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。游标让SQL这种面向集合的语言有了面向过程开发的能力。


        在SQL中,游标是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针。这里游标充当了指针的作用,我们可以通过操作游标来对数据行进行操作。
 

使用游标的步骤:

第一步:声明游标

          declare  游标名 cursor for select语句;

第二步:打开游标

           open 游标名

第三步:使用游标(从游标中拿数据)

         fetch 表标名 into 变量名

第四步:关闭游标

        close 游标名;

 游标注意事项:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值