mysql的游标案例详解

本文详细介绍了MySQL中的游标使用,包括声明、打开、关闭游标以及通过fetch语句访问数据。通过示例展示了如何在存储过程中利用游标处理结果集,并通过循环避免多次fetch。文中还提到了游标的退出条件判断和不同类型的循环方式。
摘要由CSDN通过智能技术生成

游标主要用于交互式应用,获取语句检索出来的结果集,在存储了游标之后应用程序可以根据需要滚动或者浏览其中的数据


使用游标的几个步骤

1,  声明定义 定义要使用的select 语句

2,打开游标



首先创建一个存储过程函数并定义游标

mysql> delimiter //
mysql> create procedure test()
    -> begin
    -> declare num cursor
    -> for
    -> select count goods_name from test_goods;

     -> open num;//

     -> close num;
    -> end //
Query OK, 0 rows affected (0.02 sec)

按照上面的步骤 就是 声明游标  定义使用select 语句 打开游标 和关闭游标 但对检索出来的数据什么都没有做

下面 我们就要使用 游标数据 用fetch语句来分别访问它的每一行 

例如

mysql> delimiter //
mysql> create procedure test3()
    -> begin
    -> declare a int;
    -> declare num cursor for select goods_id from test_goods;
    -> open num;
    -> fetch num into a;

    -> select a;
    -> close num;
    -> end //
Query OK, 0 rows affected (0.00 sec)

运行结果 

mysql> call test3();//
+------+
| a    |
+------+
|    1 |
+------+
1 row in set (0.00 sec)


Query OK, 0 rows affected (0.00 sec)

你会发现 就一个结果出来

因为 fetch 就运行了一次 指针还处于第一个结果上面 如果我们在 运行一次 fetch 的话 会怎么样

删除  过程

mysql> drop procedure test

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值