MySQL函数(CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型)
MySQL函数
/*
含义:一组预先编译好的SQL语句的集合,理解成批处理语句
1、提高代码的重用性
2、简化操作
3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率
区别:
存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新
函数:有且仅有1 个返回,适合做处理数据后返回一个结果
*/
一、创建语法
CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型
BEGIN函数体
END
/*
注意:
1.参数列表 包含两部分:
参数名 参数类型
2.函数体:肯定会有return语句,如果没有会报错
如果return语句没有放在函数体的最后也不报错,但不建议
return 值;
3.函数体中仅有一句话,则可以省略begin end
4.使用 delimiter语句设置结束标记
*/
二、调用语法
SELECT 函数名(参数列表)
#------------------------------案例演示----------------------------
1.无参有返回
#案例:返回公司的员工个数
CREATE FUNCTION myf1() RETURNS INT
BEGIN#必须定义一个变量DECLARE c INT DEFAULT 0; #定义局部变量SELECT COUNT(*) INTO c #赋值FROM employees;RETURN c;END $
调用:
SELECT myf1()$
2.有参有返回
#案例1:根据员工名,返回它的工资
CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE
BEGINSET @sal=0; #定义用户变量,局部变量也行 SELECT salary INTO @sal #赋值FROM employeesWHERE last_name = empName;RETURN @sal;
END $
SELECT myf2('k_ing') $
#案例2:根据部门名,返回该部门的平均工资
CREATE FUNCTION myf3(deptName VARCHAR(20)) RETURNS DOUBLE
BEGINDECLARE sal DOUBLE; #加不加默认值都无所谓 SELECT AVG(salary) INTO salFROM employees eJOIN departments d ON e.department_id = d.department_idWHERE d.department_name=deptName;RETURN sal;
END $
SELECT myf3('IT')$
三、查看函数
SHOW CREATE FUNCTION myf3;
四、删除函数
DROP FUNCTION myf3;
#案例
#一、创建函数,实现传入两个float,返回二者之和
CREATE FUNCTION test_fun1(num1 FLOAT,num2 FLOAT) RETURNS FLOAT
BEGINDECLARE SUM FLOAT DEFAULT 0;SET SUM=num1+num2;RETURN SUM;
END $
SELECT test_fun1(1,2)$
MySQL函数(CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型)相关推荐
- MySQL存储过程(CREATE PROCEDURE 存储过程名(参数列表))
MySQL存储过程 #存储过程 /* 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 * ...
- c语言 函数的参数传递示例_C-用户定义的函数示例,没有参数,没有返回类型...
c语言 函数的参数传递示例 Define a function with no argument and no return type in C language. 用C语言定义一个没有参数且没有返回 ...
- Mysql创建Create Function
首先我们创建一个名为employee的表,添加相应的数据: INSERT INTO `employee` (`Id`, `Salary`) VALUES(3, 300),(2, 200),(1, 10 ...
- JavaScript 箭头函数与function函数区别
结合以下注释理解代码,有空再分步骤讲解 // 执行正常 function 方法名() 会直接将函数提升到顶部所以此步成功 normalFun(2); // 执行失败 因var会将arrowFun变量提 ...
- html 定义函数调用函数,HTML function函数怎么定义和调用?
HTML function函数怎么定义和调用实例: function myFunction() { alert("Hello World!"); } Try it 扩展资料 1.函 ...
- MySQL 基础 ———— 存储过程与函数
一.存储过程介绍 存储过程是一组预先编译好的SQL语句的集合,可理解成批处理语句.它的优点主要有以下几点: 1.提高代码的重用性: 2.简化操作: 3.减少了编译次数并且减少了和数据库服务器的连接次数 ...
- MySQL之存储过程和函数
1. 变量 系统变量: 定义:变量由系统提供,不是用户定义,属于服务器层面 查看所有变量:SELECT global | session variables; 查看满足条件的部分系统变量:SELECT ...
- mysql面试题 常用函数_MySQL常见面试题
01. 列举常见的关系型数据库和非关系型都有那些? 关系型:Oracle.DB2.Microsoft SQL Server.MySQL.SQLite 非关系型:Redis.Hbase.MongodDB ...
- MySQL---- 自定义函数(FUNCTION)
MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且 ...
最新文章
- 距离语音交互技术的更大范围应用,还差点什么?
- Python面向对象-概念、类、实例
- BZOJ 1032 JSOI 2007 祖码Zuma 区间DP
- cmake 学习笔记(四)
- C++实现RPG小游戏(彩色版)
- 自动控制理论——拉普拉斯变换定义及性质
- PTA数据结构7.1给定一个初始为空的栈和一系列压栈、弹栈操作,请编写程序输出每次弹栈的元素。栈的元素值均为整数。
- 百思不得其姐学习笔记
- transform 实现 附加鼠标悬浮效果,照片旋转,六面体,3D效果
- mac 升级自带Python方法
- No module named gi解决方案
- win7 安装MySQL 5.7.
- Hadoop HA集群配置问题记录
- 如何设计一个风控实验?以度小满风控实验平台架构设计为例
- linux查看是centos几版本
- stm32H70之使用片内的2Mflash
- 开源巨献:Google最热门的40款开源项目
- MySQL 分库拆表方案
- Activity not started, its current task has been brought to the front
- C语言编程精粹读书笔记