我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql基础五 游标

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql基础五 游标

一、游标的定义:

create procedure p12()
begin

declare row_name varchar(20);
declare row_num int;

declare myCursor cursor for select name,num from goods;//定义游标myCursor

open myCursor;//打开游标myCursor

fetch myCursor into row_name,row_num;//使用游标myCursor获取第一行

select row_name, row_num;

fetch myCursor into row_name,row_num;//使用游标myCursor获取第二行;每fetch一次游标就自动往下游一次.

select row_name, row_num;

close myCursor;//关闭游标myCursor

end;

二、游标+repeat循环-->实现遍历行:
create procedure p13()
begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;

declare row_count int;
declare i int default 0;

declare myCursor cursor for select gid,name,num from goods;

select count(1) into row_count from goods;

open myCursor;

repeat

fetch myCursor into row_gid,row_name,row_num;

select row_gid,row_name,row_num;

set i=i+1;

until i>row_count end repeat;

close myCursor;

end;

三、游标+continue handler实现遍历行:

continue handler 当fetch触发此handler后,后面的语句继续执行。
所以会多执行一次select row_gid,row_name,row_num;
此handler常用。

create procedure p15()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare you int default 1;

declare myCursor cursor for select gid,name,num from goods;

declare continue handler for NOT FOUND set you=0;

open myCursor;

repeat

fetch myCursor into row_gid,row_name,row_num;

select row_gid,row_name,row_num;

until you=0 end repeat;

close myCursor;

end;

四、游标+exit handler实现遍历行:

exit handler 当fetch触发此handler后,触发后后面的语句不再执行。
所以select row_gid,row_name,row_num;不会再被执行。
此handler不常用。

create procedure p16()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare you int default 1;

declare myCursor cursor for select gid,name,num from goods;

declare exit handler for NOT FOUND set you=0;

open myCursor;

repeat

fetch myCursor into row_gid,row_name,row_num;

select row_gid,row_name,row_num;

until you=0 end repeat;

close myCursor;

end;

五、游标+while实现遍历行:

create procedure p15()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare over int default 1;

declare myCursor cursor for select gid,name,num from goods;

declare continue handler for NOT FOUND set over =0;

open myCursor;

fetch myCursor into row_gid,row_name,row_num;

while over do

select row_gid,row_name,row_num;

fetch myCursor into row_gid,row_name,row_num;

end while;

close myCursor;

end;

六、游标+loop实现遍历行:

-- loop 与 leave,iterate 实现循环
-- loop 标志位无条件循环;leave 类似于Java break 语句,跳出循环,即跳出 begin end;
iterate 类似于java continue ,结束本次循环,继续下一次循环。
--loop的优点在于可以根据条件结束本次循环或者根据条件跳出循环。

create procedure p17()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare over int default 0;

declare myCursor cursor for select gid,name,num from goods;

declare continue handler for NOT FOUND set over=1;

open myCursor;

cursor_loop:loop

fetch myCursor into row_gid,row_name,row_num;

if over then

leave cursor_loop;

end if;

select row_gid,row_name,row_num;

end loop cursor_loop;

close myCursor;

end;

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql基础五 游标

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL游标

阅读目录 定义游标的作用游标的使用游标语法条件处理 创建表:test1、test2、test3写一个函数,计算 test1 表中 a、b 字段所有的和测试游标过程解析 定义 游标(Cursor)是处理数据的一种方法,为了
2023-08-30
2024-04-02

MySQL基础:基础查询

DQL语言:数据查询语言3.1 基础查询语法select 查询列表from 表名;特点查询列表可以是字段、常量、表达式、函数,也可以是多个查询结果是一个虚拟表示例1、查询单个字段select 字段名 from 表名;2、查询多个字段select 字段名,字段名
MySQL基础:基础查询
2016-06-13

MySQL基础

1. 数据库1.1 数据库概述什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。什么是数据库管理系统数据库管理系统(DataBase Management Sy
MySQL基础
2019-04-23

MySQL基础

MySQL概述MySQL是关系型数据库,开源。关系型数据库:ER模型图,关系型数据库存放的是各种实体间的关系。以商城为例:常见关系型数据库:MySQL、Oracle、SQLServer、DB2。MySQL安装官网找到MySQL Community Server

	MySQL基础
2021-04-01

MySQL 基础

MySQL 基础MySQL 基础SQL 介绍DDL(数据定义语言)数据库操作数据表操作常用约束约束操作索引操作DML(数据操作语言)SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删除数据INSERT
MySQL 基础
2021-06-05

python之基础篇(五)——数据类型

防伪码:忘情公子著  前面四篇我们已经讲了许多概念方面的东西,从此篇开始,我们将真正开始学习python。  在上一篇中,我们已经说过python有哪些核心数据类型,接下来我们将一一细说这些数据类型。python数据类型之数字类型  pyt
2023-01-31

MySQL 游标 - G

MySQL 游标 SQL语句是“面向集合编程”,重点在于“获得什么”,而不是“如何获得”。有时候我们不需要对查询结构集的每一条都进行相同的操作,而是只操作其中的某些行,这时候就需要面向过程的编程方法,而游标就是面向过程编程方式的体现游标就相当于“指针”,它一次
MySQL 游标 - G
2016-08-31

Python基础知识(五)--数据类型

#标识符,以字母或下划线开头,不与关键字重复  #不使用系统内置标识符、函数名、异常名  #不使用开头和结尾都是下划线作为自定义标识符名  #以免与系统定义的特殊方法或变量冲突  #当循环不影响实际变量的时候,可以在for..in中使用单个
2023-01-31

Mysql基础(一)

准备工作1.开启服务器··windows系统:  方法1.搜索服务,找到mysql并开启.  方法2.如果安装的是5.7版本,cmd中输入:net start MySQL57··Mac系统:  系统偏好设置开启mysql,然后命令行运行以下代码出现base字样
Mysql基础(一)
2014-12-15

编程热搜

目录