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

五、存储过程-参数

相关推荐
小马爱打代码2 小时前
Redis 集群方案详解:主从复制、哨兵、脑裂、分片集群和哈希槽
数据库·redis·哈希算法
海南java第二人3 小时前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
Litluecat3 小时前
信创迁移:Oracle切换海量数据库,慢sql扫描
数据库·sql·oracle·信创·海量
消失在人海中4 小时前
Oracle的CURRENT REDO丢失,数据丢失风险分析
数据库·oracle
喵了几个咪4 小时前
选择第三方IAM还是自建权限体系?中小型后台系统权限架构决策指南
数据库·oracle·架构
Elastic 中国社区官方博客5 小时前
Kibana:使用 AI Chat 及 MCP 轻松创建 AI 原生仪表板
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·信息可视化
杨云龙UP6 小时前
Oracle Health Check巡检脚本使用SOP V2.0:从HTML原始报告→生成Word专业巡检报告→交付客户_2026-06-03
linux·运维·数据库·sql·oracle·报告·巡检
Database_Cool_6 小时前
Hudi 湖仓一体架构:阿里云 AnalyticDB MySQL 原生集成最佳实践
数据库·mysql·阿里云
我是一颗柠檬6 小时前
【Redis】发布订阅与消息队列Day8(2026年)
数据库·redis·后端·缓存