存储函数用于封装SQL逻辑并返回值,可重用且支持SELECT调用。创建使用CREATE FUNCTION,包含名称、参数、返回类型及函数体,需RETURN值。示例add_numbers返回两数之和。可通过SHOW FUNCTION STATUS、SHOW CREATE FUNCTION或information_schema.Routines查看函数信息。注意:函数体必须有RETURN,避免修改数据除非声明MODIFIES SQL DATA,使用DELIMITER防止分号冲突,重复命名需先删除。合理使用提升查询复用性与逻辑封装。

在 MySQL 中,存储函数(Stored Function)是一种可重用的数据库对象,用于封装一段 SQL 逻辑并返回一个值。它可以在 SELECT、WHERE 或其他表达式中调用,适合用于计算或数据处理。
使用 CREATE FUNCTION 语句来定义存储函数。基本语法如下:
CREATE FUNCTION function_name(param_list)
RETURNS data_type
[DETERMINISTIC | NOT DETERMINISTIC]
[READS SQL DATA | MODIFIES SQL DATA | CONTAINS SQL]
[COMMENT 'description']
BEGIN
-- 函数体:声明变量、控制结构、SQL 语句等
RETURN value;
END;
关键要素说明:
示例:创建一个计算两个数之和的函数
DELIMITER $$
<p>CREATE FUNCTION add_numbers(a INT, b INT)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE result INT;
SET result = a + b;
RETURN result;
END$$</p><p>DELIMITER ;</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/learn/2593">
<img src="https://img.php.cn/upload/webcode/000/000/000/5a2b9a88e20e5831.png" alt="动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/learn/2593">动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版</a>
<p>动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版">
<span>508</span>
</div>
</div>
<a href="/xiazai/learn/2593" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版">
</a>
</div>
之后可在查询中使用:
SELECT add_numbers(5, 3); -- 输出 8
可以通过以下几种方式查看已创建的存储函数:
基本上就这些。创建和查看存储函数是提升 SQL 复用性和逻辑封装的有效手段,合理使用能简化复杂查询。
以上就是MySQL中存储函数建立及查看的方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号