Rumah >pangkalan data >tutorial mysql >MYSQL入门学习之十四:游标的基本操作_MySQL

MYSQL入门学习之十四:游标的基本操作_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2016-06-01 13:37:39990semak imbas

bitsCN.com

MYSQL入门学习之十四:游标的基本操作

 

相关链接:

MYSQL入门学习之一:基本操作

http:///database/201212/173868.html

MYSQL入门学习之二:使用正则表达式搜索

http:///database/201212/173869.html

MYSQL入门学习之三:全文本搜索

http:///database/201212/173873.html

MYSQL入门学习之四:MYSQL的数据类型

http:///database/201212/175536.html

MYSQL入门学习之五:MYSQL的字符集

http:///database/201212/175541.html

MYSQL入门学习之六:MYSQL的运算符

http:///database/201212/175862.html

MYSQL入门学习之七:MYSQL常用函数

http:///database/201212/175864.html

MYSQL入门学习之八:数据库及表的基本操作

http:///database/201212/175867.html

MYSQL入门学习之九:索引的简单操作

http:///database/201212/176772.html

MYSQL入门学习之十:视图的基本操作

http:///database/201212/176775.html

MYSQL入门学习之十一:触发器的基本操作

http:///database/201212/176781.html

MYSQL入门学习之十二:存储过程的基本操作

http:///database/201212/177380.html

MYSQL入门学习之十三:自定义函数的基本操作

http:///database/201212/177382.html

 

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

        游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改。

        使用游标需要MySQL5及以上版本支持。

一、使用游标的步骤

        在能够使用游标前,必须声明(定义)它。

        一旦声明后,必须打开游标以供使用。

        对于填有数据的游标,根据需要取出(检索)各行。

        在结束游标使用时,必须关闭游标。

二、游标的基本操作

1、创建游标

        DECLARE cur_name CURSOR FOR SELECT ****;

        示例:

[sql] 

mysql> delimiter //  

mysql> create procedure test_cur()  

    -> begin  

    ->     declare mycur cursor  

    ->     for  

    ->     select userid,username from newname;  

    -> end;  

    -> //  

mysql> delimiter ;  

 

2、打开游标

        OPEN cur_name;

        MySQL在处理OPEN语句时执行查询,存储检索出的数据以供浏览和滚动。

3、关闭游标

        CLOSE cur_name;

        CLOSE语句释放游标使用的所有内部内存和资源。

        在一个游标关闭后,如果没有重新打开,则不能使用它。但是,使用声明过的游标不需要再次声明。

        如果不明确关闭游标,MySQL将会在到达END语句时自动关闭它。

        示例:

[sql] 

mysql> delimiter //  

mysql> create procedure test_cur()  

    -> begin  

    ->     declare mycur cursor  

    ->     for  

    ->     select userid,username from newname;  

    ->     open mycur;  

    ->     close mycur;  

    -> end;  

    -> //  

mysql> delimiter ;  

 

4、使用游标数据

        游标被打开后,可以使用FETCH语句分别访问它的每一行。

        示例:

[sql] 

mysql> delimiter //  

mysql> create procedure test_cur()  

    -> begin  

    ->     declare done boolean default 0;  

    ->     declare cur_userid int;  

    ->     declare cur_birthday varchar(50);  

    ->  

    ->     declare mycur cursor  

    ->     for  

    ->     select userid,year(birthday) from newname where birthday is not null;  

    ->     declare continue handler for sqlstate '02000' set done=1;  

    ->  

    ->     open mycur;  

    ->  

    ->     repeat  

    ->         fetch mycur into cur_userid,cur_birthday;  

    ->         select cur_userid,cur_birthday;  

    ->     until done end repeat;  

    ->  

    ->     close mycur;  

    -> end;  

    -> //  

mysql> delimiter ;  

mysql> call test_cur;  

+------------+--------------+  

| cur_userid | cur_birthday |  

+------------+--------------+  

|         19 | 1988         |  

+------------+--------------+  

1 row in set (0.00 sec)  

  

+------------+--------------+  

| cur_userid | cur_birthday |  

+------------+--------------+  

|         42 | 2008         |  

+------------+--------------+  

1 row in set (0.01 sec)  

       

bitsCN.com
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn