MySQL游标的定义与使用

你可以从字面上理解什么是光标,这个符号在这些数据之间来回移动。

为什么MySQL有游标的概念既然SQL语言是面向数组的语句,每次查询都是数据的集合,没有办法处理其中的一个吗?分别记录。
如果要单独处理每条记录,则需要游标。

游标实际上就像编程语言中的for/foreach循环,它逐条检索数组(数据集合)中的每一条数据,然后使用判断语句。
for/foreach循环处理您感兴趣的数据。

我可以在哪里使用游标?它们可以用在函数、存储过程和触发器中吗?

说完概念,我们再来看看固定光标的写法。
无论概念理解与否,记住以下固定模式也可以完成搬砖的任务。

SELECT语句是普通的查询语句,例如:SELECTid,ageFROMtable;

游标定义的SQL语句在游标打开之前不会执行。

将当前记录数据存储在变量中。

当FETCH没有找到记录时,会抛出异常。
异常定义需要下面的HANDLERFOR语句。

如果游标语句中的SELECT有多个字段,则需要在INTO后使用多个变量来检索它们。

这条语句的作用是指定一个条件,向程序表明所有数据已经​​循环完毕,可以完成了。
由于游标使用WHILE循环来读取每一条数据,所以需要给WHILE一个结束条件。

处理类型:是,EXIT立即完成。
CONTINUE继续以下处理。

异常类型:一般指定为NOTFOUND,表示没有找到数据。

异常发生时的处理:异常发生时怎么办这里一般使用SETflat=1改变变量的值来记录异常发生。

mysql中查询的问题

SELECT*FROMexample1UNIONALLSELECT*FROMexample2WHERE(SELECTCOUNT(*)FROMexample1)=0UNIONALLSELECT*FROMexample3WHERE(SELECTCOUNT(*)FROMexample1)=0AND(SELECTCOUNT(*)FROMexample2)=0