search
HomeDatabaseMysql Tutorialmysql advanced (3) cursor simple tutorial

mysql advanced (3) cursor simple tutorial

Feb 09, 2017 pm 03:13 PM
mysqlcursorAdvanced

Mysql Cursor Simple Tutorial

Starting from MySQL V5.5, a big change has been made, which is to use InnoDB as the default storage engine. InnoDB supports transactions and has related RDBMS features: ACID transaction support, data integrity (supports foreign keys), disaster recovery capabilities, etc.

Now briefly summarize the knowledge of cursors.

(1) Understand the cursor

The cursor is simply the queried data index. Through the operation of the cursor (the first position, the last position, the previous position, The next position) can be traversed out of the data.

One of the main reasons for using a cursor is to convert collection operations into single record processing. After retrieving data from the database using SQL language, the result is placed in an area of ​​memory, and the result is often a collection containing multiple records. The cursor mechanism allows users to access these records row by row in SQL server and display and process these records according to the user's own wishes.

In the database, cursor is a very important concept. Cursors provide a flexible means of operating on data retrieved from a table. In essence, cursors are actually a mechanism that can extract one record at a time from a result set that includes multiple data records. A cursor is always associated with a SQL select statement because a cursor consists of a result set (which can be zero, one, or multiple records retrieved by the associated select statement) and a cursor position in the result set that points to a specific record. When you decide to process a result set, you must declare a cursor pointing to the result set. If you have ever written a program that processes files in C language, then the cursor is like the file handle you get when you open the file. As long as the file is opened successfully, the file handle can represent the file. For cursors, the logic is the same. It can be seen that the cursor can process the result set from the basic table in a manner similar to that of a traditional program reading a flat file, thereby presenting the data in the table to the program in the form of a flat file.

We know that relational database management systems are essentially set-oriented. In MS SQL SERVER, there is no expression form to describe a single record in a table, unless a where clause is used to limit only one record to be selected. Therefore, we must use cursors to perform data processing for single records. It can be seen that the cursor allows the application to perform the same or different operations on each row in the row result set returned by the query statement select, instead of performing the same operation on the entire result set at once; it also provides the ability to perform the same operation on the data in the table based on the cursor position. The ability to delete or update; moreover, it is the cursor that connects the collection-oriented database management system and row-oriented programming, allowing the two data processing methods to communicate.

During the database development process, when the data you retrieve is only one record, the transaction statement code you write often uses the SELECT INSERT statement. But we often encounter situations where we read records one by one from a certain result set. So how to solve this problem? Cursors provide us with an extremely excellent solution - that is, using the cursor

is a readable identifier used to identify where the data has been retrieved.

(2) Cursor characteristics

1, read-only

2, non-scrolling

3, insensitive

(three ) Using cursors

It should be emphasized that the cursor must be defined before the handler is defined, but the variable must be defined before the cursor is defined. The order is variable definition-cursor definition-handler.

1. Define a cursor

DECLARE cursor_name CURSOR FOR select_statement

This statement declares a cursor. Multiple cursors can also be defined in a subroutine. Each cursor in a block must be named uniquely. After declaring the cursor, it is also a single operation.

2. Cursor OPEN

OPEN cursor_name

This statement opens a previously declared cursor.

3. Cursor FETCH

FETCH cursor_name INTO var_name [, var_name] ...

This statement reads the next line (if there is a next line) with the specified open cursor, and advances the cursor pointer to The bank.

4. 游标CLOSE

CLOSE cursor_name

这个语句关闭先前打开的游标,注意,用完后必须关闭。

(四)示例

下面是一个存储过程,里面用到游标,逐条更新数据(批量更新数据)

BEGIN
 DECLARE  no_more_record INT DEFAULT 0;
 DECLARE  pID BIGINT(20);
 DECLARE  pValue DECIMAL(15,5);
 DECLARE  cur_record CURSOR FOR   SELECT colA, colB from tableABC;  /*首先这里对游标进行定义*/
 DECLARE  CONTINUE HANDLER FOR NOT FOUND  SET  no_more_record = 1; /*这个是个条件处理,针对NOT FOUND的条件,当没有记录时赋值为1*/
 
 
 OPEN  cur_record; /*接着使用OPEN打开游标*/
 FETCH  cur_record INTO pID, pValue; /*把第一行数据写入变量中,游标也随之指向了记录的第一行*/
 
 
 WHILE no_more_record != 1 DO
 INSERT  INTO testTable(ID, Value)
 VALUES  (pID, pValue);
 FETCH  cur_record INTO pID, pValue;
 
 END WHILE;
 CLOSE  cur_record;  /*用完后记得用CLOSE把资源释放掉*/
END

以上就是 mysql进阶(三)游标简易教程的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
MySQL's Role: Databases in Web ApplicationsMySQL's Role: Databases in Web ApplicationsApr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

MySQL: Building Your First DatabaseMySQL: Building Your First DatabaseApr 17, 2025 am 12:22 AM

The steps to build a MySQL database include: 1. Create a database and table, 2. Insert data, and 3. Conduct queries. First, use the CREATEDATABASE and CREATETABLE statements to create the database and table, then use the INSERTINTO statement to insert the data, and finally use the SELECT statement to query the data.

MySQL: A Beginner-Friendly Approach to Data StorageMySQL: A Beginner-Friendly Approach to Data StorageApr 17, 2025 am 12:21 AM

MySQL is suitable for beginners because it is easy to use and powerful. 1.MySQL is a relational database, and uses SQL for CRUD operations. 2. It is simple to install and requires the root user password to be configured. 3. Use INSERT, UPDATE, DELETE, and SELECT to perform data operations. 4. ORDERBY, WHERE and JOIN can be used for complex queries. 5. Debugging requires checking the syntax and use EXPLAIN to analyze the query. 6. Optimization suggestions include using indexes, choosing the right data type and good programming habits.

Is MySQL Beginner-Friendly? Assessing the Learning CurveIs MySQL Beginner-Friendly? Assessing the Learning CurveApr 17, 2025 am 12:19 AM

MySQL is suitable for beginners because: 1) easy to install and configure, 2) rich learning resources, 3) intuitive SQL syntax, 4) powerful tool support. Nevertheless, beginners need to overcome challenges such as database design, query optimization, security management, and data backup.

Is SQL a Programming Language? Clarifying the TerminologyIs SQL a Programming Language? Clarifying the TerminologyApr 17, 2025 am 12:17 AM

Yes,SQLisaprogramminglanguagespecializedfordatamanagement.1)It'sdeclarative,focusingonwhattoachieveratherthanhow.2)SQLisessentialforquerying,inserting,updating,anddeletingdatainrelationaldatabases.3)Whileuser-friendly,itrequiresoptimizationtoavoidper

Explain the ACID properties (Atomicity, Consistency, Isolation, Durability).Explain the ACID properties (Atomicity, Consistency, Isolation, Durability).Apr 16, 2025 am 12:20 AM

ACID attributes include atomicity, consistency, isolation and durability, and are the cornerstone of database design. 1. Atomicity ensures that the transaction is either completely successful or completely failed. 2. Consistency ensures that the database remains consistent before and after a transaction. 3. Isolation ensures that transactions do not interfere with each other. 4. Persistence ensures that data is permanently saved after transaction submission.

MySQL: Database Management System vs. Programming LanguageMySQL: Database Management System vs. Programming LanguageApr 16, 2025 am 12:19 AM

MySQL is not only a database management system (DBMS) but also closely related to programming languages. 1) As a DBMS, MySQL is used to store, organize and retrieve data, and optimizing indexes can improve query performance. 2) Combining SQL with programming languages, embedded in Python, using ORM tools such as SQLAlchemy can simplify operations. 3) Performance optimization includes indexing, querying, caching, library and table division and transaction management.

MySQL: Managing Data with SQL CommandsMySQL: Managing Data with SQL CommandsApr 16, 2025 am 12:19 AM

MySQL uses SQL commands to manage data. 1. Basic commands include SELECT, INSERT, UPDATE and DELETE. 2. Advanced usage involves JOIN, subquery and aggregate functions. 3. Common errors include syntax, logic and performance issues. 4. Optimization tips include using indexes, avoiding SELECT* and using LIMIT.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool