MYSQL tutorial 14: basic cursor operations bitsCN.com
MYSQL tutorial 14: basic operations on cursors
Related links:
MYSQL: Basic operations
Http: // database/201212/173868 .html
MYSQL 2: use regular expressions to search
Http: // database/201212/173869 .html
MYSQL 3: full text search
Http: // database/201212/173873 .html
MYSQL entry 4: MYSQL data types
Http: // database/201212/175536 .html
MYSQL entry 5: MYSQL character set
Http: // database/201212/175541 .html
MYSQL getting started 6: MYSQL operators
Http: // database/201212/175862 .html
MYSQL entry 7: MYSQL common functions
Http: // database/201212/175864 .html
Step 8: basic database and table operations
Http: // database/201212/175867 .html
MYSQL entry 9: simple indexing operations
Http: // database/201212/176772 .html
MYSQL Getting started: Basic View operations
Http: // database/201212/176775 .html
MYSQL getting started 11: basic trigger operations
Http: // database/201212/176781 .html
MYSQL entry 12: basic operations of stored procedures
Http: // database/201212/177380 .html
Step 13: basic operations of user-defined functions
Http: // database/201212/177382 .html
CURSOR is a database query stored on the MySQL server. it is not a SELECT statement but a result set retrieved by this statement. After the cursor is stored, the application can scroll or browse the data as needed.
Cursors are mainly used for interactive applications. users need to scroll the data on the screen and browse or modify the data.
To use a cursor, MySQL5 or a later version is required.
1. procedure for using a cursor
Before using a cursor, you must declare (define) it.
Once declared, the cursor must be opened for use.
For a cursor with data filled in, retrieve (retrieve) each row as needed.
You must close the cursor when using the end cursor.
II. basic cursor operations
1. create a cursor
DECLARE cur_name cursor for select ****;
Example:
[SQL]
Mysql> delimiter //
Mysql> create procedure test_cur ()
-> Begin
-> Declare mycur cursor
->
-> Select userid, username from newname;
-> End;
-> //
Mysql> delimiter;
2. open the cursor
OPEN cur_name;
MySQL executes queries when processing OPEN statements to store the retrieved data for browsing and scrolling.
3. close the cursor
CLOSE cur_name;
The CLOSE statement releases all internal memory and resources used by the cursor.
After a cursor is closed, it cannot be used if it is not re-opened. However, the declared cursor does not need to be declared again.
If you do not explicitly close the cursor, MySQL will automatically close it when it reaches the END statement.
Example:
[SQL]
Mysql> delimiter //
Mysql> create procedure test_cur ()
-> Begin
-> Declare mycur cursor
->
-> Select userid, username from newname;
-> Open mycur;
-> Close mycur;
-> End;
-> //
Mysql> delimiter;
4. use cursor data
After the cursor is opened, you can use the FETCH statement to access each row of the cursor.
Example:
[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
->
-> Select userid, year (birthday) from newname where birthday is not null;
-> Declare continue handler for sqlstate '000000' 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