程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL入門學習之十四:游標的基本操作

MYSQL入門學習之十四:游標的基本操作

編輯:MySQL綜合教程

MYSQL入門學習之十四:游標的基本操作   相關鏈接: MYSQL入門學習之一:基本操作 http://www.BkJia.com/database/201212/173868.html MYSQL入門學習之二:使用正則表達式搜索 http://www.BkJia.com/database/201212/173869.html MYSQL入門學習之三:全文本搜索 http://www.BkJia.com/database/201212/173873.html MYSQL入門學習之四:MYSQL的數據類型 http://www.BkJia.com/database/201212/175536.html MYSQL入門學習之五:MYSQL的字符集 http://www.BkJia.com/database/201212/175541.html MYSQL入門學習之六:MYSQL的運算符 http://www.BkJia.com/database/201212/175862.html MYSQL入門學習之七:MYSQL常用函數 http://www.BkJia.com/database/201212/175864.html MYSQL入門學習之八:數據庫及表的基本操作 http://www.BkJia.com/database/201212/175867.html MYSQL入門學習之九:索引的簡單操作 http://www.BkJia.com/database/201212/176772.html MYSQL入門學習之十:視圖的基本操作 http://www.BkJia.com/database/201212/176775.html MYSQL入門學習之十一:觸發器的基本操作 http://www.BkJia.com/database/201212/176781.html MYSQL入門學習之十二:存儲過程的基本操作 http://www.BkJia.com/database/201212/177380.html MYSQL入門學習之十三:自定義函數的基本操作 http://www.BkJia.com/database/201212/177382.html   游標(CURSOR)是一個存儲在MySQL服務器上的數據庫查詢,它不是一條SELECT語句,而是被該語句檢索出來的結果集。在存儲了游標之後,應用程序可以根據需要滾動或浏覽其中的數據。  www.2cto.com           游標主要用於交互式應用,其中用戶需要滾動屏幕上的數據,並對數據進行浏覽或做出更改。         使用游標需要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)          

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved