数据库(MySQL)的存储过程

一、存储过程介绍

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

特点

  1. 封装,复用
  2. 可以接收参数,也可以返回数据
  3. 减少网络交互,效率提升

二、存储过程的基本语法

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判断

五、存储过程-参数

相关推荐
silver9886几秒前
MongoDB 和 cassadra
数据库·mongodb
iuvtsrt1 分钟前
SQL处理分组聚合时的NULL值处理_利用NVL函数
jvm·数据库·python
qq_297574673 分钟前
MySQL核心技术实战系列(第一篇):MySQL零基础入门:安装、配置与客户端工具使用 一、前言
数据库·mysql·adb
杨云龙UP8 分钟前
ODA/Oracle 19c CDB/PDB 环境下报错ORA-65162:common user密码过期问题排查与处理_2026-05-15
linux·运维·数据库·oracle·dba·db
dinglu1030DL9 分钟前
CSS如何利用Flex实现悬浮的侧边按钮组_利用fixed定位与flex布局组合
jvm·数据库·python
Jetev12 分钟前
如何利用SQL子查询进行非结构化数据处理_文本匹配
jvm·数据库·python
老纪12 分钟前
c++怎么在Windows下设置文件的安全访问控制列表(ACL)权限【底层】
jvm·数据库·python
難釋懷14 分钟前
Redis网络模型-异步IO
网络·数据库·redis
yexuhgu23 分钟前
Redis怎样节省海量状态存储内存_利用Bitmap结构替代传统String存储
jvm·数据库·python
chushiyunen23 分钟前
postgresql时序数据库插件timescaledb语法
数据库·postgresql·时序数据库