mysql游标的经典例子_mysql中游标的使用案例详解(学习笔记)

1.游标是啥玩意?

简单的说:游标(cursor)就是游动的标识,啥意思呢,通俗的这么说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行。我给大家准备一张图:

779bff6c0647499aba758a39ce77b24d.png

2.怎么使用游标?

//1.声明/定义一个游标

declare 声明;declare 游标名 cursor for select_statement;

//2.打开一个游标

open 打开;open 游标名

//3.取值

fetch 取值;fetch 游标名 into var1,var2[,...]

//4.关闭一个游标

close 关闭;close 游标名;

3.游标实战

未使用游标:

create procedure p1()

begin

select * from category;

end$

call p1$

执行结果:

c072bbb9067b4aa9d027903de1d481cf.png

使用游标:

/**

注释

*/

create procedure p2()

begin

//一下定义的三个变量用于将fetch取值出来的值放到对应的变量中

declare row_cat_id int;

declare row_cat_name int;

declare row_parent_id int;

//定义游标

declare getcategory cursor for select cat_id,cat_name,parent_id from category;

//打开游标

open getcategory;

//取值

fetch getcategory into row_cat_id,row_cat_name,row_parent_id;

//关闭游标

close getcategory;

end$

/**

未注释

*/

create procedure p2()

begin

declare row_cat_id int;

declare row_cat_name varchar(90);

declare row_parent_id int;

declare getcategory cursor for select cat_id,cat_name,parent_id from category;

open getcategory;

fetch getcategory into row_cat_id,row_cat_name,row_parent_id;

close getcategory;

end$

//执行的时候你会发现是0行,这时因为我们将查询出的结果赋给了变量,我们有没有对赋值后的变量进行查询显示。所以是0行。因此,我们要重新

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值