为什么要用mysql函数?
mysql中函数就好比java中的接口定义,我们定义了一套规则后,希望大家能够遵守,又避免重复发明轮子以至于以后不好维护,就把很多大家可能都用到的逻辑进行集中处理,到时候就可以直接使用了。
比如我们所说的分页,设定好后直接传参便可以了。尤其是比较复杂一点的多交互语句,减少与数据库的交互次数,就能够更大程度的提高客户体验。
好了,下面我们就看一下什么是mysql中的函数。
庐山真面目
首先我们建了一个表(itxxz),添加如下数据:

然后便开始创建函数了,这里简单我们只是创建查询url不为空的个数:
如上语句同mysql的增删改查执行方法一致,运行即可:
执行完后,我们可以通过以下语句来查询当前数据库中的所有函数:
select `name` from mysql.proc where db = 'itxxz' and `type` = 'FUNCTION';
结果如下:
的
在使用的时候,
直接调用就可以了:
SELECT FN_ITXXZ_URL();
结果如下:
原文地址
mysql中函数就好比java中的接口定义,我们定义了一套规则后,希望大家能够遵守,又避免重复发明轮子以至于以后不好维护,就把很多大家可能都用到的逻辑进行集中处理,到时候就可以直接使用了。
比如我们所说的分页,设定好后直接传参便可以了。尤其是比较复杂一点的多交互语句,减少与数据库的交互次数,就能够更大程度的提高客户体验。
好了,下面我们就看一下什么是mysql中的函数。
庐山真面目
首先我们建了一个表(itxxz),添加如下数据:

然后便开始创建函数了,这里简单我们只是创建查询url不为空的个数:
- DELIMITER $$
- CREATE FUNCTION FN_ITXXZ_URL()
- RETURNS INT
- BEGIN
- SELECT COUNT(*) INTO @RESULT FROM ITXXZ WHERE URL IS NOT NULL;
- RETURN @RESULT;
- END$$
- DELIMITER ;
如上语句同mysql的增删改查执行方法一致,运行即可:
执行完后,我们可以通过以下语句来查询当前数据库中的所有函数:
select `name` from mysql.proc where db = 'itxxz' and `type` = 'FUNCTION';
结果如下:

在使用的时候,
直接调用就可以了:
SELECT FN_ITXXZ_URL();
结果如下:
