MySQL数据库基础---函数

本文介绍了函数与存储过程的区别,包括函数的单一返回值特性,适合数据处理。讲解了创建函数的基本语法,如`CREATE FUNCTION`,并展示了如何在MySQL中创建和调用函数,以及直接调用和通过变量接收返回值的方法。
摘要由CSDN通过智能技术生成

一、前言

存储过程类似,函数也可以理解为一组SQL语句的集合。但是他们之间又有区别:存储过程可以有多个0到多个返回值,所以一般用来做增加、查找和删除这类操作;而函数只能有一个返回值,所以函数更适合做处理数据,然后返回处理结果的事情。

  • 关于存储过程的介绍可以查看这篇文章:存储过程

二、创建语法

create function 函数名(参数列表)returns 返回类型
begin 
	函数体
end
  • 参数列表:参数名+参数类型
  • 如果函数体只有一句SQL可以省略begin和end
  • 使用命令行操作数据库时,注意要修改定界符,delimiter $,否则分号不能判断究竟是函数体语句结束还是函数结束,例如:
mysql> delimiter $

mysql> CREATE FUNCTION myAdd(x INT,y INT) RETURNS INT
    -> BEGIN
    ->   DECLARE sum INT;
    ->   SET sum = x+y;
    ->	 RETURN sum;
    -> END
    -> $
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;#将定界符改回分号
# 调用函数
mysql> set @sum = myAdd(10,10);
	->select @sum;
+------+
| @sum |
+------+
| 20   |
+------+

三、调用语法

和存储过程不同,直接使用函数名即可,不用call调用。其中返回值直接可以用select调用显示,也可以用变量接收。

#直接调用
select myAdd(10,10);
#变量接收
set @sum = myAdd(10,10);
select @sum;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值