MySQL 存储过程是一组预定义 SQL 语句,类似于函数,它们可以接受输入参数并执行一些操作,最终返回一个结果。存储过程在数据库服务器上执行,可以提高性能和安全性,减少网络传输数据量,并且可以在多个应用程序之间共享。

下面是一个 MySQL 存储过程的基本语法:

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
    -- 执行 SQL 语句和其他操作
END;

其中:

  • procedure_name 是存储过程的名称。
  • parameter_name 是存储过程的参数名称。
  • data_type 是参数的数据类型,可以是任何有效的 MySQL 数据类型,如 INT、VARCHAR、DATE 等。
  • INOUTINOUT 是用于指定参数传递方式的关键字。IN 表示参数是输入参数,OUT 表示参数是输出参数,INOUT 表示参数既是输入参数又是输出参数。
  • BEGINEND 之间的代码是存储过程的主体部分,包括 SQL 语句和其他操作。

下面是一个简单的 MySQL 存储过程的示例,它接受一个输入参数 id,并根据该参数查询一个用户的信息:

CREATE PROCEDURE get_user_info(IN id INT)
BEGIN
    SELECT * FROM users WHERE id = id;
END;

要执行这个存储过程,可以使用 CALL 命令:

CALL get_user_info(123);

其中 123 是传递给存储过程的输入参数。

MySQL 存储过程还支持条件语句、循环语句、异常处理等高级功能,可以根据实际需要进行编写。

MySql教程网 https://mysql360.com)