
MySQL复习day07:函数
发布日期:2021-05-13 22:15:51
浏览次数:16
分类:精选文章
本文共 1720 字,大约阅读时间需要 5 分钟。
MySQL函数
函数
一组预先编译好的SQL语句的集合,可以完成批处理。
函数特点
1. 提高代码的重用性; 2. 简化操作; 3. 减少编译次数并且减少了和数据库服务器的连接次数,提高的效率;
存储过程vs函数
- 存储过程:可以有0个返回,也可以有多个返回,适合做批量插入,批量更新;
- 函数:有且仅有1 个返回,适合做处理数据后返回一个结果
创建函数
1.语法
create function 函数名(参数列表)returns 返回类型begin 函数体end
2.注意
1.参数列表包含参数名
和参数类型
,例如 myname int; 2.函数体:必须有return ,格式:return 返回值; 3.设置delimiter语句设置结束标记;
3.调用
select 函数名(参数列表);
函数示例
示例一
use stus;---------------------------------------------------------------drop procedure if exists p1;set global log_bin_trust_function_creators=TRUE;#创建函数f():无参有返回delimiter $create function f() returns intbegin declare res int default 0; select count(*) into res from booktype; return res;end $#调用函数f()select f() $
示例二
use stus;---------------------------------------------------------------delimiter $drop function if exists sal ;#创建函数sal():有参有返回create function sal(n varchar(25)) returns intbegin set @res=0; select id into @res from booktype where name = n; return @res;end $#调用函数sal()select sal('fiction')$
查看函数
show create function 函数名;
删除函数
drop function 函数名;
简单例子
1.创建函数,实现传入两个一维float数,返回二者的距离。
delimiter $drop function if exists f;create function f(num1 float ,num2 float ) returns floatbegin declare res float default 0.0; select if(num1-num2>0,num1-num2,num2-num1) into res; return res;end $ select f(12.3,56.2) as 'ans';
1.创建函数,实现传入两个二维float坐标,返回二者的距离。
delimiter $drop function if exists f1;create function f1(x1 float ,y1 float ,x2 float ,y2 float ) returns floatbegin declare res float default 0.0; set @a1 = pow(x1-x2,2); set @a2 = pow(y1-y2,2); select pow(@a1+@a2,0.5) into res; return res;end $ select f1(1,1,2,2) as 'ans';
MySQL学习列表
致谢
感谢诸君观看,如果感觉有用的话,点个赞吧!🎉
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月08日 23时49分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
堆空间常用参数总结
2021-05-14
逃逸分析-堆分配对象
2021-05-14
常量池、运行时常量池
2021-05-14
3、条件查询
2021-05-14
5、分组函数 / 聚合函数
2021-05-14
8、子查询
2021-05-14
cordova打包apk更改图标
2021-05-14
开启与配置SMTP服务器
2021-05-14
域名解析步骤
2021-05-14
APP卡片式设计
2021-05-14
GitHub上传时,项目在已有文档时直接push出现错误解决方案
2021-05-14
云数据库
2021-05-14
图计算
2021-05-14
大数据在不同领域的应用
2021-05-14
页面置换算法
2021-05-14
推荐系统资料
2021-05-14
文件系统的层次结构
2021-05-14
减少磁盘延迟时间的方法
2021-05-14
vue(渐进式前端框架)
2021-05-14
权值初始化和与损失函数
2021-05-14