含义:一组预先编译好的SQL语句的集合,可以理解成批处理语句
作用:
提高代码的重用性
简化操作
减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率
和存储过程的区别:
存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新
函数:有且仅有1 个返回,适合做处理数据后返回一个结果
一、函数的语法
1. 创建
DELIMITER $CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN函数体END$DELIMITER ;
注意:
参数列表 包含两部分: 参数名 参数类型
开头必须要声明返回值类型。
函数体中必须有return语句,没有会报错
使用 delimiter 语句设置结束标记
———-
2. 调用
SELECT 函数名(参数列表)
函数使用由于函数是有返回值的,所以使用select是可以打印出这个值的。
==========
二、案例演示
1. 无参有返回函数
案例:返回学生表的总个数
1.1 创建函数
DELIMITER $CREATE FUNCTION myFun1() RETURNS INTBEGIN DECLARE num INT DEFAULT 0; #定义一个变量SELECT COUNT(*) INTO num #赋值 FROM student;RETURN num; #返回值END $DELIMITER ;
定义好后需要执行以下进行编译
1.2 调用函数
SELECT myFun1();

———-
2.有参有返回
案例:根据学生名返回分数
2.1 创建函数
DELIMITER $CREATE FUNCTION myFun2(stuName VARCHAR(20)) RETURNS INTBEGINDECLARE grade INT DEFAULT 0; #定义变量SELECT s.grade INTO grade #赋值FROM student sWHERE s.name = stuName;RETURN grade; #返回END $DELIMITER ;
2.2 调用
SELECT myFun2('盖伦');

==========
三、查看函数
SHOW CREATE FUNCTION myFun1;
四、删除函数
DROP FUNCTION myFun2;
本文讲解了Mysql函数 的相关内容,更多相关推荐请关注创想鸟。
通义万相
通义万相,一个不断进化的AI艺术创作大模型
596 查看详情
相关推荐:
SQLLite相关内容
Spark SQL实现日志离线批处理
sql 相邻2条记录时间差比较
以上就是Mysql函数 的相关讲解的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/383978.html
微信扫一扫
支付宝扫一扫