您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 丹东分类信息网,免费分类信息发布

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

2024/5/25 15:21:31发布61次查看
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
丹东分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录