MySQL函数——创建、调用、查看和删除函数

二、函数

含义:一组预先编译好的SQL语句的集合,理解成批处理语句
好处: 1、提高代码的重用性
2、简化操作
3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率
存储过程与函数的区别:
关键字 调用语法 返回值 应用场景
存储过程: procedure call 存储过程() 可以有0个或多个返回 用于做批量插入和更新(即增删改)
函数: function select函数() 有且仅有1个返回 用于做处理数据后返回一个结果
一、创建函数
语法:
create function 函数名(参数列表) retrurns 返回类型
begin
函数体
end
注意:

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

学过的函数:LENGTH、SUBSTR、CONCAT等

二、调用语法
语法:
SELECT 函数名(参数列表)
即执行函数中的所有语句,并显示返回值

#函数的使用(案例演示)

  1. 无参有返回
    #返回公司的员工个数
    注:mysql的设置默认是不允许创建函数

这是我们开启了bin-log, 我们就必须指定我们的函数是否是
1 .DETERMINISTIC 不确定的
2 .NO SQL 没有SQl语句,当然也不会修改数据
3 .READS SQL DATA 只是读取数据,当然也不会修改数据
4. MODIFIES SQL DATA 要修改数据
5. CONTAINS SQL 包含了SQL语句
其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。
在MySQL中创建函数时出现这种错误的解决方法:
set global log_bin_trust_function_creators=TRUE;
或执行:
set global log_bin_trust_function_creators=1;

declare c int default 0;→定义局部 变量
select count(*) into c →赋值

三、查看函数
show create function myf1;

四、删除函数
drop function myf3;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值