一、存储过程介绍
存储过程是事先经过编译并存储在数据库中的一段SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL 语言层面的代码封装与重用。
特点
- 封装,复用
- 可以接收参数,也可以返回数据
- 减少网络交互,效率提升
二、存储过程的基本语法
2.1 创建
CREATE PROCEDURE 存储过程名称( [参数列表] )
BEGIN
SQL 语句
END;
2.2 调用
CALL 名称 ( [参数])
2.3 查看
查询指定数据库的存储过程及状态信息
SELECT* FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = '对应的数据库名称'
存储过程名称;--查询某个存储过程的定义
SHOW CREATE PROCEDURE 存储过程名称
2.4 删除
DROP PROCEDURE [ IFEXISTS ] 存储过程名称
三、存储过程中的变量
3.1 系统变量
注意:
如果没有指定SESSION/GLOBAL,默认是SESSION,会话变量。
mysql服务重新启动之后,所设置的全局参数会失效,要想不失效,可以在/etc/my.cnf 中配置。
3.2 用户自定义变量
3.3 局部变量
四、存储过程-if判断
五、存储过程-参数