mysql创建游标命令_MySql命令——游标

1.游标的概念

有时,需要在检索出来的行中前进或后退一行或多行。这就是使用游标的原因。游标(cursor)是一个存储在 MySql 服务器上的数据库查询,它不是一条 select 语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。

主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改。

MySql 游标只能用于存储过程和函数。

2.使用游标的步骤

在能够使用游标前,必须定义它。这个过程实际上没有检索数据,它只是定义要使用的 select 语句;

一旦声明后,必须打开游标以供使用。这个过程用前面定义的 select 语句把数据实际检索出来;

对于填有数据的游标,根据需要取出各行;

在游标结束使用时,必须关闭游标。

3.创建游标

游标用 declare 语句创建。

declare 命名游标,并定义相应的 select 语句,根据需要带 where 和其它子句。

create procedureprocessorder()begin

declare ordernumbers cursor

for

select value fromtest;end;

4.打开和关闭游标

open ordernumbers; --打开

close orderbumbers; --关闭

5.使用游标数据

在一个游标被打开后,可以使用 fetch 语句分别访问它的每一行。

fetch 指定检索什么数据,检索出来的数据存储在什么地方,它还向前移动游标中的内部行指针,使下一条 fetch 语句检索下一行(不重复读取同一行)。

create procedureprocders()begin

--定义一个布尔变量 done 和 一个整型变量 o

declare done boolean default 0;declare o int;--定义一个游标

declare testYB cursor

for

selectvalue test;--循环

declare continue handler for sqlstate '02000' set done=1;--创建一张表

create table if not exists test1(value text);--打开游标

opentestYB;

repeat--读取到 o 中

fetch testYB intoo;--把 o 中的数据添加到 test1 表中

insert into test1(value) values(o);

until doneendrepeat;--关闭游标

closetestYB;end;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值