MySql 游标的使用

今天在极客时间学习了SQL必知必会专栏,游标的部分,在下面总结一下游标的使用。
使用游标的步骤如下:定义游标,用变量接收游标状态,打开游标,游标中取得数据,关闭游标,释放游标,下面就从这是步骤来使用游标。

定义游标

DECLARE cursor_name CURSOR FOR select_statement

cursor_name 为游标名称,select_statement代表SELECT语句

定义变量接收游标状态

在这里需要定义一个变量来接收游标当前是否已经指向最后。

DECLARE done INT DEFAULT false;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = true;

done为变量名称,先将done默认值定义为false。第二句的含义就是当游标指到末尾时将done设置为true。

打开游标

OPEN cursor_name

游标中取得数据

FETCH cursor_name INTO var_name ...

可以理解为将游标指向下一行。

关闭数据

CLOSE cursor_name

释放游标

DEALLOCATE cursor_namec 

例子

这里引用极客时间的一段代码,作为一个简单的范例:


CREATE PROCEDURE `calc_hp_max`()
BEGIN
       -- 创建接收游标的变量
       DECLARE hp INT;  
       -- 创建总数变量 
       DECLARE hp_sum INT DEFAULT 0;
       -- 创建结束标志变量  
       DECLARE done INT DEFAULT false;
       -- 定义游标     
       DECLARE cur_hero CURSOR FOR SELECT hp_max FROM heros;
       
       OPEN cur_hero;
       read_loop:LOOP 
       FETCH cur_hero INTO hp;
       SET hp_sum = hp_sum + hp;
       END LOOP;
       CLOSE cur_hero;
       SELECT hp_sum;
END

再次回顾学习一次SQL,游标自我理解就想像鼠标的光标一样可以对每个数据进行扫描,可以到达每个数据的位置。总结游标的使用步骤定义游标,用变量接收游标是否结束,打开游标,游标中取得数据,关闭游标,释放游标。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Maybe_ch

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

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

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

打赏作者

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

抵扣说明:

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

余额充值