Mysql(十三)-- 函数

函数

函数和存储过程的区别
函数: 有且仅有一个返回,适合做数据处理后返回一个结果
存储过程: 可以有0个返回,也可以有多个返回,适合做批量插入,批量更新

语法:

CREATE FUNCTION 函数名(参数列表) RETURNS
BEGIN
	函数体
END

注意:

  1. 参数列表 包含两部分: 参数名 参数类型
  2. 函数体:肯定会有 RETURN 语句, 如果没有会报错,如果return 语句没有放在函数体的最后一句,也不会报错。但不建议
  3. 函数体中只有一句话,就可以省略begin end
  4. 使用 delimiter 语句 设置结束标记
调用语法
SELECT 函数名(参数列表);

案例1: 返回admin 表中拥有多少条记录

# 定义一个函数
CREATE FUNCTION myf1() RETURN INT
BEGIN 
	DECLARE c INT DEFAULT 0;
	SELECT COUNT(*) INTO c
	FROM employees;
	RETURN c
END$
# 调用该函数
SELECT myf1()$
# 返回
+--------+
| myf1() |
+--------+
|      3 |
+--------+

案例2: 根据id 返回这个用户的姓名

CREATE FUNCTION my2(id INT ) RETURNS VARCHAR
BEGIN
	DECLARE name VARCHAR DEFAULT "没有";
	SELECT admin.aName INTO name
	FROM admin
	WHERE admin.id = id;
	RETURN name;
END $
# 调用
SELECT my2(1) $

查看函数
SHOW CREATE FUNCTION myf3;
删除函数
DROP FUNCTION myf3;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值