数据库(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判断

五、存储过程-参数

相关推荐
ClickHouseDB35 分钟前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_6399069439 分钟前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺2 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw2 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社3 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙3 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain3764 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02145 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川5 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组5 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制