首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从0开始学懂 MySQL 8 存储过程

从0开始学懂 MySQL 8 存储过程

作者头像
IT咸鱼
发布2025-06-19 10:29:43
发布2025-06-19 10:29:43
24400
代码可运行
举报
运行总次数:0
代码可运行

每天分享技术栈,开发工具等

一句话带你理解“存储过程”

存储过程就是:把一段 SQL 代码封装起来,以后可以用一个名字随时“调用它”来执行。

想象一下: 你开个餐馆,每次顾客来点“土豆丝炒蛋”,你都得手动配菜、下锅、调味…… 太麻烦了! 这时候你说:我搞个自动机器人,一喊“做1份土豆丝炒蛋”,它就一次性帮你搞定整个流程。

这个“做1份土豆丝炒蛋”的命令,就像你数据库里调用的一个“存储过程”。


环境说明(咱们搞实战)

推荐你边看边做,熟得快!

  • MySQL 版本:8.0.44
  • 数据库客户端:DataGrip(或者 Navicat 也可以)
  • 已有测试数据库:testdb
  • 本文所有 SQL 都是在 DataGrip SQL窗口中执行

第一个目标:创建一个最简单的存储过程

场景描述:

我们写一个最简单的存储过程,它做的事就是:打印一句欢迎语


正确 SQL 写法(每一行都加注释)

代码语言:javascript
代码运行次数:0
运行
复制

-- 修改 SQL 分隔符为 //
DELIMITER//

-- 创建一个名为 hello 的存储过程
CREATEPROCEDURE hello()
BEGIN
-- 输出一条欢迎信息
SELECT'你好,欢迎关注 IT咸鱼!';
END;
//

-- 还原分隔符
DELIMITER;

重点解释:

代码语言:javascript
代码运行次数:0
运行
复制
改变语句分隔符,避免中间的分号冲突(存储过程内部可能写很多分号)

怎么执行它?

代码语言:javascript
代码运行次数:0
运行
复制

CALL hello();

你在 DataGrip 中执行后,应该看到:

代码语言:javascript
代码运行次数:0
运行
复制

+-------------------------+
| 你好,欢迎关注 IT咸鱼! |
+-------------------------+

存储过程到底放在哪?可以看到吗?

你可以用下面命令查看它是不是建成功了:

代码语言:javascript
代码运行次数:0
运行
复制

SHOW PROCEDURE STATUS WHERE Db ='testdb';

或者查看完整 SQL 结构:

代码语言:javascript
代码运行次数:0
运行
复制

SHOW CREATE PROCEDURE hello;

它会显示你写的原始内容。


常见小白错误(必须避坑)

代码语言:javascript
代码运行次数:0
运行
复制
没有先执行 DELIMITER //

小结一下:

代码语言:javascript
代码运行次数:0
运行
复制
建立第一个存储过程

实战建议

你现在可以试着自己创建一个新的过程,比如输出今天的日期:

代码语言:javascript
代码运行次数:0
运行
复制

DELIMITER//

CREATEPROCEDURE show_today()
BEGIN
SELECT CURDATE()AS 今天日期;
END;
//

DELIMITER;

然后执行它:

代码语言:javascript
代码运行次数:0
运行
复制

CALL show_today();

会输出:

代码语言:javascript
代码运行次数:0
运行
复制

+------------+
| 今天日期   |
+------------+
|2025-06-17|
+------------+

加点参数试试?

下一篇《带参数的存储过程怎么写?IN/OUT/INOUT 参数一文搞懂》将介绍:

  • 怎么给存储过程传参数?
  • 参数值是怎么传进来的?能不能传出结果?
  • 实战例子:输入用户姓名,输出欢迎语

如果你觉得这一篇让你成功迈出第一步这个系列会持续更新,每一步都有实战,每个坑都替你踩过。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT咸鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一句话带你理解“存储过程”
  • 环境说明(咱们搞实战)
  • 第一个目标:创建一个最简单的存储过程
    • 场景描述:
    • 正确 SQL 写法(每一行都加注释)
    • 重点解释:
  • 怎么执行它?
  • 存储过程到底放在哪?可以看到吗?
  • 常见小白错误(必须避坑)
  • 小结一下:
  • 实战建议
  • 加点参数试试?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档