Mysql -- 存储过程

MySQL存储过程的基本使用方法

  • 介绍

    存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。

  • 特点

    • 封装、复用
    • 可以接收参数,也可以返回数据
    • 减少网络交互,提升效率
  • 创建存储过程

1
2
3
4
5
6
CREATE PROCEDURE 存储过程名称([参数列表])
BIGEN
  
  -- SQL语句

END;
  • 调用
1
CALL 名称([参数]);
  • 查看存储过程
1
2
3
4
5
-- 查询指定数据库的存储过程及状态信息
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'XXX'; 

-- 查询某个存储过程的定义
SHOW CREATE PROCEDURE 存储过程名称;
  • 删除存储过程
1
DROP PROCEDURE [IF EXISTS] 存储过程名称;

注意:在命令行中,执行创建存储过程的SQL时,需要通过关键字delimiter指定SQL语句的结束符

1
delimiter $$;
  • 变量

系统变量是MySQL服务器提供,不是用户定义的,属于服务器层面,分为全局变量(GLOBAL)、会话变量(SESSION)。

  • 查看系统变量
1
2
3
4
5
SHOW [SESSION | GLOBAL] VARIABLES;             -- 查看所有系统变量

SHOW [SESSION | GLOBAL] VARIABLES LIKE '...';  -- 可以通过 like 模糊匹配方式查找变量

SELECT @@[SESSION | GLOBAL] 系统变量名;         -- 查看指定变量的值 
  • 设置系统变量
1
2
3
SET [SESSION | GLOBAL] 系统变量名=值;

SET @@[SESSION | GLOBAL] 系统变量名=;

【待续。。。】

Licensed under CC BY-NC-SA 4.0
皖ICP备20014602号
Built with Hugo
Theme Stack designed by Jimmy