一、MySQL游标的概念

游标介绍:

MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解。

有数据缓冲的思想:游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果。

先有数据基础:游标是在先从数据表中检索出数据之后才能继续灵活操作的技术。

类似于指针:游标类似于指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个。

游标优缺点:

游标的优点:

因为游标是针对行操作的,所以对从数据库中select查询得到的每一行可以进行分开的独立的相同或不同的操作,是一种分离的思想。可以满足对某个结果行进行特殊的操作。

游标与基于游标位置的增删改查能力。 MySQL数据库中没有专门描述一行的表达形式,但这是需要的,所以,个人理解的话,我觉得游标是在关系数据库这种面向集合的系统中抽离出来,

单独针对行进行表达(也可以理解成网上资料说的:游标是面向集合与面向行的设计思想之间的一种桥梁)

游标缺点:

游标的缺点是针对有点而言的,也就是只能一行一行操作,在数据量大的情况下,是不适用的,速度过慢。这里有个比喻就是:当你去ATM存钱是希望一次性存完呢,

还是100一张一张的存,这里的100一张一张存就是游标针对行的操作。 数据库大部分是面对集合的,业务会比较复杂,而游标使用会有死锁,影响其他的业务操作,不可取。 当数据量大时,使用游标会造成内存不足现象。

游标的使用场景

针对游标的优缺点,我总结游标的使用场景,主要用在循环处理、存储过程、函数中使用,用来查询结果集,就比如:我们需要从表中循环判断并得到想要的结果集,这时候使用游标操作很方便速度也很快。

二、游标的使用

游标的使用步骤

游标的使用一般分为5个步骤,主要是:定义游标->打开游标->使用游标->关闭游标->释放游标。

(1).定义游标

语法为:

原文:https://www.cnblogs.com/darwinli/p/9052796.html

mysql游标进阶_MYSQL进阶学习知识拓展一:MySQL 存储过程之游标!相关推荐

  1. mysql游标进阶_mysql进阶(三)游标简易教程

    mysql游标简易教程 从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存储引擎.InnoDB支持事务,而且拥有相关的RDBMS特性:ACID事务支持,数据完整性(支持外键 ...

  2. mysql 进阶_mysql进阶 - 随笔分类 - 云潇洒 - 博客园

    随笔分类 - mysql进阶 1 摘要:防御SQL注入的方法总结 这篇文章主要讲解了防御SQL注入的方法,介绍了什么是注入,注入的原因是什么,以及如何防御,需要的朋友可以参考下. SQL注入是一类危害 ...

  3. mysql文件说明_MySQL进阶之配置文件说明

    概述 不同版本的配置文件参数及使用方法略略有不同,具体可参考官网版主文档.如果选项名称配置错误,MySQL有可能不能启动.MySQL的配置文件一般为my.cny,不同版本或不同操作系统可能存放位置不一 ...

  4. 【MySQL学习】使用视图、存储过程、游标和触发器

    视图.储存过程.游标和触发器 视图 利用视图简化复杂的联结 用视图重新格式化检索出的数据 用视图过滤不想要的数据 使用视图与计算字段 更新视图 存储过程 为什么要使用存储过程 使用存储过程 执行存储过 ...

  5. mysql选定数据库_mysql数据库学习――2,数据库的选定,创建,删除和变更_MySQL...

    bitsCN.com mysql数据库学习--2,数据库的选定,创建,删除和变更 数据库选定,数据库选定后依然可以使用其他数据库中的数据表,只要指定[数据库.数据表]即可 use db_namesel ...

  6. mysql install语句_MySQL入门学习(一)安装与基本操作

    安装篇 PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合.在Windows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选.本人在Windows98环境下初学MyS ...

  7. mysql binlog 备份_MySQL的binlog知识梳理

    1.binlog概念: binlog是一个二进制格式的文件,用于记录"修改数据或可能引起数据变更"的SQL语句(查询的SQL不会记录). 2.binlog功能: (1)恢复: 利用 ...

  8. sql与mysql的区别_MySQL和SQL是什么?MySQL和SQL之间的区别有哪些

    MySQL和SQL之间的区别有哪些?很多PHP的初学者,对MySQL,MyAdmin和SQL有什么区别并不是很清楚?下面php中文网就带领大家来学习一下MySQL和SQL之间的区别.[推荐阅读:MyS ...

  9. mysql 流复制_MySQL系列详解六:MySQL主从复制/半同步演示-技术流ken

    前言 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时数据库集群就很好的解决了这个问题了.采用MySQL分布式集群,能够搭建一个高并发.负载均衡的集群服务器.在 ...

最新文章

  1. IOS设计模式学习(1)设计模式初窥
  2. 什么是万词霸屏?做万词霸屏有效果么?
  3. 空指针错误 java.lang.NullPointerException 浅谈
  4. 【正则】匹配html标签里的内容,不含标签
  5. 多线程python 客户端fuwuq实现方式_python实现二叉树数据结构的多种遍历方式
  6. ssh: connect to host localhost port 22: Connection refused 问题
  7. distinct使SQL查询除去重复的字段
  8. 微软签署最大规模风电购买协议 打造“无碳”数据中心
  9. Smarty3——foreach
  10. linux exec 脚本之家,详解Shell脚本中调用另一个Shell脚本的三种方式
  11. 海思Hi3559AV100ES Camera芯片处理器参数
  12. nodejs下载安装和环境搭建,以及nodejs各个版本如何绿色下载
  13. Unity3d 2019室内光照贴图lightmap快速烘焙(转载)
  14. 晚安西南-----尾管悬挂与回接
  15. (已更新)成语小秀才小程序V2.0.14完整安装包+小程序前端
  16. PLUG AND PLAY LANGUAGE MODELS: A SIMPLE APPROACH TO CONTROL LEDTEXT(PPLM):代码深入理解(二)—PPLM_Discrim
  17. 使用 parted 对单个磁盘进行分区并进行配额
  18. 怎么把电脑上的准考证发送到手机上呢
  19. 怎样清除浏览器缓存?
  20. 三方流通平台:区块链+政务,打造“链上雄安”

热门文章

  1. .Net Core 1.1打包发布到Linux
  2. apache开启虚拟主机localhost无法访问
  3. 约瑟夫问题的几种实现
  4. android 自定义水波纹点击效果Button
  5. VC++判断文件或文件夹是否存在(转)
  6. [shell] while read line 与for循环的区别
  7. Python爬虫学习第一天--uillib库和request库
  8. sqlserver中创建包含事务的存储过程
  9. linux目录架构及常用的基本命令
  10. C# 反射 设置字段值无效的解决办法