详解MySQL游标 1、什么是游标(或光标) 虽然我们也可以通过筛选条件 WHERE 和 HAVING,或者是限定返回记录的关键字 LIMIT 返回一条记录,但是,却无法在结果集中像指针一样,向前定位一条记录、向后定位一条记录,或者是,并对记录的数据进行处理。 这个时候,就可以用到游标。游标,提供了一种灵活的操作方式,让我们能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。游标让 SQL 这种面向集合的语言有了面向过程开发的能力。 SQL 中,游标是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针。这里游标,我们可以通过操作游标来对数据行进行操作 比如,我们查询了 employees 数据表中工资高于15000的员工都有哪些:
这里我们就可以通过游标来操作数据行,如图所示此时游标所在的行是“108”的记录,我们也可以在结果集上滚动游标,指向结果集中的任意一行。 2、如何使用游标 游标必须在声明处理程序之前被声明,并且变量和条件还必须在声明游标或处理程序之前被声明。1、声明游标 语法格式: 要使用 SELECT 语句来数据结果集,而此时还没有开始遍历数据,这里 查询语句代表的是 SELECT 语句, 举例: 2、打开游标 语法格式: 当我们定义好游标之后,如果想要使用游标,必须先打开游标。打开游标的时候 SELECT 语句的查询结果集就会送到游标工作区,为后面游标的结果集中的记录做准备。3、使用游标 语法格式: 这句的作用是使用 这个游标来读取当前行,并且将数据保存到 var_name 这个变量中,游标指针指到下一行。如果游标读取的数据行有多个列名,则在 INTO 关键字后面赋值给多个变量名即可。 注意: var_name必须在声明游标之前就定义好。 举例: 注意: 游标的查询结果集中的字段数,必须跟 INTO 后面的变量数一致4、关闭游标 语法格式: 当我们使用完游标后需要关闭掉该游标。因为游标会,如果不及时关闭,游标会一直保持到存储过程结束,影响系统运行的效率。而关闭游标的操作,会释放游标占用的系统资源。 关闭游标之后,我们就不能再检索查询结果中的数据行,如果需要检索只能再次打开游标。 3、代码举例 思路分析: 先创建存储过程,然后再根据实际情况declare自己需要的变量来满足题目的要求,游标要按步骤来:创建游标、打开游标、使用游标最后再关闭游标;其中要注意使用游标在循环中,可以提高代码的简洁度。 4、小结 游标是 MySQL 的一个重要的功能,为结果集中的数据,提供了完美的解决方案。跟在应用层面实现相同的功能相比,游标可以在存储程序中使用,效率高,程序也更加简洁。 但同时也会带来一些性能问题,比如在使用游标的过程中,会对数据行进行,这样在业务并发量大的时候,不仅会影响业务之间的效率,还会,造成内存不足,这是因为游标是在内存中进行的处理。 建议: 养成用完之后就关闭的习惯,这样才能提高系统的整体效率。感兴趣的朋友可以在3A云服务器上自己部署尝试一下。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/62316.html