Home Database Mysql Tutorial How to use mysql procedure function

How to use mysql procedure function

May 28, 2023 pm 02:46 PM
mysql

1. Basic knowledge of MySQL procedure functions

  1. MySQL procedure

MySQL procedure consists of multiple SQL statements Composed, receives parameters and performs specific operations on the input parameters. MySQL procedure is a method of encapsulating multiple SQL statements to achieve specific functions.

The MySQL process has the following characteristics:

(1) The MySQL process is executed on the server side.

(2) MySQL process can receive input parameters and return output parameters.

(3) MySQL procedures can create and update tables, insert and update data in the database.

(4) MySQL procedures can contain control flow statements, loops, branches and exception handlers.

(5) MySQL process supports user-defined functions and sub-processes.

  1. MySQL function

MySQL function is a set of single query statements defined in MySQL. They accept one or more input parameters and return one or more values. Functions can be used to calculate, compare, transform, and manipulate data.

MySQL functions have the following characteristics:

(1) MySQL functions are executed on the server side.

(2) MySQL function can receive input parameters and return output parameters.

(3) The MySQL function can only return a single value and cannot perform operations such as insert, update, and delete.

(4) MySQL functions cannot contain control flow statements, loops, branches and exception handlers.

(5)MySQL function supports user-defined functions and sub-functions.

2. How to use MySQL process functions

In MySQL, users can use the CREATE PROCEDURE and CREATE FUNCTION statements to create procedures and functions.

  1. Create MySQL procedure

The following is the syntax to create a MySQL procedure:

CREATE PROCEDURE procedure_name ([parameters])
BEGIN

  [SQL statements]
Copy after login
Copy after login

END;

Among them, procedure_name is the name of the procedure, parameters is the parameter list of the procedure, and SQL statements are the MySQL statements to be executed during the procedure.

For example, we create a simple MySQL procedure that receives two input parameters and returns their sum:

CREATE PROCEDURE add(IN a INT, IN b INT)
BEGIN

  SELECT a+b;
Copy after login

END;

  1. Create MySQL function

The following is the syntax for creating a MySQL function:

CREATE FUNCTION function_name([parameters]) RETURNS data_type
BEGIN

  [SQL statements]
Copy after login
Copy after login

END;

Among them, function_name is the name of the function, parameters is the parameter list of the function, and data_type is what the function returns Data type, SQL statements are the MySQL statements to be executed in the function.

For example, we create a simple MySQL function that takes an input parameter and returns its square:

CREATE FUNCTION square(x INT) RETURNS INT
BEGIN

  RETURN x*x;
Copy after login

END;

3. Examples of MySQL process functions

  1. MySQL process examples

The following is a simple An example of a MySQL procedure that outputs each table name and row count in the current database to the console:

CREATE PROCEDURE table_count()
BEGIN

  DECLARE done INT DEFAULT FALSE;
  DECLARE t_name CHAR(32);
  DECLARE t_count INT;
  DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN cur;
  repeat
        FETCH cur INTO t_name;
        IF NOT done THEN
              SET @sql = CONCAT('SELECT COUNT(*) INTO "', t_name, '_count" FROM ', t_name);
              PREPARE stmt FROM @sql;
              EXECUTE stmt;
              DEALLOCATE PREPARE stmt;
              SET @out = CONCAT(t_name, ': ', t_name, '_count');
              SELECT @out;
        END IF;
  until done END REPEAT;
  CLOSE cur;
Copy after login

END;

In the above process, we use cursors to traverse all tables in the database, and use dynamic SQL to get the number of rows in each table and output it on the console.

  1. MySQL function example

The following is a simple MySQL function example that receives a string and returns the first word of each word in it Letter:

CREATE FUNCTION get_initials(str VARCHAR(255)) RETURNS VARCHAR(255)
BEGIN

  DECLARE len INT DEFAULT 0;
  DECLARE i INT DEFAULT 0;
  DECLARE initial CHAR(1);
  DECLARE initials VARCHAR(255) DEFAULT '';
  SET len = LENGTH(str);
  WHILE i<=len DO
        SET initial = SUBSTRING(str, i, 1);
        IF i = 1 OR SUBSTRING(str, i-1, 1) = &#39; &#39; THEN
              SET initials = CONCAT(initials, initial);
        END IF;
        SET i = i + 1;
  END WHILE;
  RETURN initials;
Copy after login

END;

In the above function, we iterate Enter a string and split each word based on spaces and get its first letter and concatenate them together as function return value.

The above is the detailed content of How to use mysql procedure function. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1662
14
PHP Tutorial
1261
29
C# Tutorial
1234
24
MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 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.

Laravel Introduction Example Laravel Introduction Example Apr 18, 2025 pm 12:45 PM

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

How to start mysql by docker How to start mysql by docker Apr 15, 2025 pm 12:09 PM

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

MySQL and phpMyAdmin: Core Features and Functions MySQL and phpMyAdmin: Core Features and Functions Apr 22, 2025 am 12:12 AM

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Solve database connection problem: a practical case of using minii/db library Solve database connection problem: a practical case of using minii/db library Apr 18, 2025 am 07:09 AM

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

MySQL vs. Other Programming Languages: A Comparison MySQL vs. Other Programming Languages: A Comparison Apr 19, 2025 am 12:22 AM

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages ​​such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages ​​have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

Laravel framework installation method Laravel framework installation method Apr 18, 2025 pm 12:54 PM

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL for Beginners: Getting Started with Database Management MySQL for Beginners: Getting Started with Database Management Apr 18, 2025 am 12:10 AM

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

See all articles