vlambda博客
学习文章列表

MySQL--函数的创建、使用、查看和删除

       函数的作用跟存储过程类似,能够提高代码的复用性,简化操作,提高效率。两者也有一定的区别:

  • 存储过程可以有0个返回,也可以有多个返回,适合做批量插入、批量更新

  • 函数有且仅有一个返回,适合做数据处理后返回一个结果

一、函数的创建

语法:create function 函数名(参数列表) returns 返回类型

begin

        函数体

end

注意:

1、参数列表包含两部分:参数名和参数类型

2、函数体:肯定会有return语句,如果没有会报错,如果return语句没有放在函数体的最后也不会报错,但不建议

3、函数体中仅有一句话,则可以省略begin end

4、使用delimiter语句设置结束语句

二、调用语法

语法:select 函数名(参数列表)

示例1:无参有返回

返回明星表的个数

DELIMITER $CREATE FUNCTION myfunc1() RETURNS INTDETERMINISTICBEGIN DECLARE result INT DEFAULT 0; SELECT COUNT(*) INTO result FROM superstars;  RETURN result;END $

SELECT myfunc1()$

MySQL--函数的创建、使用、查看和删除

示例2:有参有返回

根据明星名,返回他的工资

DELIMITER $CREATE FUNCTION myfunc2(starname VARCHAR(20)) RETURNS DECIMALBEGIN SET @sal=0; # 定义用户变量 SELECT salary INTO @sal FROM superstars WHERE sname = starname; RETURN @sal;END $

SELECT myfunc2('刘亦菲')$

三、查看函数
SHOW CREATE FUNCTION myfunc1;

四、删除函数

DROP FUNCTION myfunc1;