
每天分享技术栈,开发工具等
存储过程就是:把一段 SQL 代码封装起来,以后可以用一个名字随时“调用它”来执行。
想象一下: 你开个餐馆,每次顾客来点“土豆丝炒蛋”,你都得手动配菜、下锅、调味…… 太麻烦了! 这时候你说:我搞个自动机器人,一喊“做1份土豆丝炒蛋”,它就一次性帮你搞定整个流程。
这个“做1份土豆丝炒蛋”的命令,就像你数据库里调用的一个“存储过程”。
推荐你边看边做,熟得快!
testdb我们写一个最简单的存储过程,它做的事就是:打印一句欢迎语。
-- 修改 SQL 分隔符为 //
DELIMITER//
-- 创建一个名为 hello 的存储过程
CREATEPROCEDURE hello()
BEGIN
-- 输出一条欢迎信息
SELECT'你好,欢迎关注 IT咸鱼!';
END;
//
-- 还原分隔符
DELIMITER;
改变语句分隔符,避免中间的分号冲突(存储过程内部可能写很多分号)
CALL hello();
你在 DataGrip 中执行后,应该看到:
+-------------------------+
| 你好,欢迎关注 IT咸鱼! |
+-------------------------+
你可以用下面命令查看它是不是建成功了:
SHOW PROCEDURE STATUS WHERE Db ='testdb';
或者查看完整 SQL 结构:
SHOW CREATE PROCEDURE hello;
它会显示你写的原始内容。

没有先执行 DELIMITER //建立第一个存储过程你现在可以试着自己创建一个新的过程,比如输出今天的日期:
DELIMITER//
CREATEPROCEDURE show_today()
BEGIN
SELECT CURDATE()AS 今天日期;
END;
//
DELIMITER;
然后执行它:
CALL show_today();
会输出:
+------------+
| 今天日期   |
+------------+
|2025-06-17|
+------------+
下一篇《带参数的存储过程怎么写?IN/OUT/INOUT 参数一文搞懂》将介绍:
如果你觉得这一篇让你成功迈出第一步这个系列会持续更新,每一步都有实战,每个坑都替你踩过。