目录
📌MySQL存储过程和函数
✏️存储过程和函数介绍
存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合。
- 存储过程和函数的好处
提高代码的复用性。
减少数据在数据库和应用服务器之间的传输,提高效率。
减少代码层面的业务处理。
-
存储过程和函数的区别
存储函数必须有返回值。
存储过程可以没有返回值。
✏️存储过程的创建和调用
- 创建存储过程
-- 修改结束分隔符
DELIMITER$
-- 创建存储过程
CREATE PROCEDURE 存储过程名称(参数列表)
BEGIN
SQL语句列表;
END$
-- 修改结束分隔符
DELIMITER;
- 调用存储过程
CALL 存储过程名称(实际参数);
✏️存储过程的查看和删除
- 查看数据库中所有的存储过程
SELECT * FROM mysql.proc WHERE db='数据库名称';
- 删除存储过程
DROP PROCEDURE [IF EXISTS] 存储过程名称;
✏️存储过程语法-变量
- 定义变量
DECLARE 变量名 数据类型 [DEFAULT默认值];
- 变量赋值方式一
SET 变量名 = 变量值;
- 变量赋值方式二
SELECT 列名 INTO 变量名 FROM 表名 [WHERE 条件];
✏️存储过程语法-if语句
if语句标准语法
IF 判断条件1 THEN 执行的sql语句1;
[ELSEIF 判断条件2 THEN 执行的sql语句2;]
...
[ELSE 执行的sql语句n;]
END IF;
✏️存储过程语法-参数传递
- 存储过程的参数和返回值
CREATE PROCEDURE 存储过程名称([IN|OUT|INOUT]参数名 数据类型)
BEGIN
SQL语句列表;
END$
IN:代表输入参数,需要由调用者传递实际数据(默认)