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

MySQL中的游标

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

MySQL中的游标

什么是游标?

游标(cursor)是一个存储在MySQL服务器上的数据库查询, 它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游 标之后,应用程序可以根据需要滚动或浏览其中的数据。

注意:MySQL游标只能用于 存储过程(和函数)。

创建游标

在创建一个游标前,我们需要先清除游标的语法

定义游标

DECLARE 游标名称 CURSOR FOR SQL语句;

打开游标

OPEN 游标名称;

获取结果

FETCH 游标名称 INTO 变量名称[,变量名称];

关闭游标

CLOSE 游标名称;

我们以Customers表来作为示例

示例一 

定义一个存储过程,调用的时候执行里面的游标

CREATE PROCEDURE PROC1()BEGIN    -- 定义两个存放结果的变量    DECLARE NAME VARCHAR(20);    DECLARE ADDR VARCHAR(50);    -- 声明游标    DECLARE MY CURSOR FOR SELECT 姓名,地址 FROM customers;    -- 打开游标    OPEN MY;    -- 获取结果    FETCH MY INTO NAME,ADDR;    -- 这里是为了显示获取结果    SELECT NAME,ADDR;    -- 关闭游标    CLOSE MY;    END;

我们执行完上面的存储过程后,就可以调用该存储过程了

CALL PROC1();

得到结果:

这里肯定有小伙伴好奇,customers表里明明有7条记录,为什么只显示了1条记录?

这是因为游标的变量只保留了customers表中的第一行数据,如果要查看后面的数据,就需要循环往下移动游标,才能继续查看。

示例二

定义一个存储过程,调用存储过程时,将表customers里的数据循环写入新的表里面。

CREATE PROCEDURE PROC2()BEGIN    -- 定义两个存放结果的变量    DECLARE FLAG INT DEFAULT 0;     DECLARE NAME VARCHAR(20);    DECLARE ADDR VARCHAR(50);    -- 声明游标    DECLARE MY CURSOR FOR SELECT 姓名,地址 FROM customers;    DECLARE CONTINUE HANDLER FOR NOT FOUND SET FLAG=1;    -- 打开游标    OPEN MY;    -- 循环体部分    L1:LOOP    -- 获取结果    FETCH MY INTO NAME,ADDR;    IF FLAG=1 THEN       LEAVE L1;    END IF;    -- 这里是为了显示获取结果    INSERT INTO cus VALUES(NAME,ADDR);    -- 关闭游标    END LOOP;  -- 结束循环    CLOSE MY;    END;

然后我们执行这个存储过程,并查询cus表里的数据

CALL PROC2();SELECT * FROM cus;

结果:

结果与customers里的一致,但是这些结果是循环一条一条往下移动的过程中插入的,即这个循环执行了7次。

以上就是游标的基本操作原理了,此外游标的循环体还有WHILE,REPEAT等操作方式,他们的操作方式与LOOP类似,都是用来循环执行循环体里面的内容,直到循环结束。

以上就是MySQL游标的相关内容,觉得不错记得帮忙转发+在看~

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

全套资料获取方式:

来源地址:https://blog.csdn.net/wx17343624830/article/details/130265055

免责声明:

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

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

MySQL中的游标

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

下载Word文档

猜你喜欢

MySQL游标

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

MySQL 游标 - G

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

MySQL中的游标和绑定变量

目录一、mysql游标简介二、绑定变量2.1 绑定变量的优化2.2 SQL接口的绑定变量2.3 绑定变量的限制一、MWhjsamNwaBySQL游标简介MySQL在服务器端提供只读的、单向的游标,而且只能在存储过程或者更底层的客户端API
2022-08-17

mysql声明游标的方法

mysql声明游标的方法: 1、声明变量和游标declare result varchar(3000); declare flag1 varchar(100); DECLARE done INT DEFAULT FALSE; declare
2022-05-16

MySQL游标的使用方式

MySQL游标允许程序员逐行遍历结果集并操作数据。它支持只读和可更新游标。通过使用DECLARE、OPEN、FETCH、UPDATE和CLOSE语句可以轻松创建、操作和关闭游标。游标的优点包括多次迭代结果集和有效传输大型结果集。然而,缺点包括占用内存和事务中的复杂性。替代方案有结果集迭代器、临时表和存储过程。
MySQL游标的使用方式
2024-04-02

mysql游标是什么

本篇内容介绍了“mysql游标是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明1、游标是用来存储查询结果集的数据类型 , 在存储过程
2023-06-20

MySQL中使用游标的原因有哪些

在MySQL中使用游标的原因有以下几点:1. 需要对结果集进行逐条处理:游标可以逐条读取结果集中的数据,这对于需要逐条处理结果集中的数据的情况非常有用。例如,需要对每个订单进行特定的操作时,可以使用游标来逐个获取订单并进行处理。2. 需要在
2023-08-08

MySQL游标的介绍与使用

目录定义游标的作用游标的使用游标语法条件处理创建表-test1-test2-test3测试游标过程解析定义游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行遍历数据的能力。游标也是一种
2022-12-16

oracle中游标的作用

游标是 oracle 数据库中遍历结果集并逐行处理数据的机制,主要用于:遍历结果集处理大数据集逐行更新或删除数据事务处理Oracle 中游标的作用什么是游标?游标是 Oracle 数据库中的一种机制,它允许您逐步遍历结果集中的数据行。它
oracle中游标的作用
2024-05-09

编程热搜

目录