函数
一、创建create function 函数名(参数名 参数类型) returns 返回类型begin函数体end注意:函数体中肯定需要有return语句二、调用select 函数名(实参列表);三、查看show create function 函数名;四、删除drop function 函数名;
#################案例演示
#函数/*含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新(增删改)函数:有且仅有1 个返回,适合做处理数据后返回一个结果*/#一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN函数体END/*注意:1.参数列表 包含两部分:参数名 参数类型2.函数体:肯定会有return语句,如果没有会报错如果return语句没有放在函数体的最后也不报错,但不建议return 值;3.函数体中仅有一句话,则可以省略begin end4.使用 delimiter语句设置结束标记*/#二、调用语法SELECT 函数名(参数列表)#------------------------------案例演示----------------------------#1.无参有返回#案例:返回公司的员工个数CREATE FUNCTION myf1() RETURNS INTBEGINDECLARE c INT DEFAULT 0;#定义局部变量SELECT COUNT(*) INTO c#赋值FROM employees;RETURN c;END $SELECT myf1()$#2.有参有返回#案例1:根据员工名,返回它的工资CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLEBEGINSET @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 DOUBLEBEGINDECLARE 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 FLOATBEGINDECLARE SUM FLOAT DEFAULT 0;SET SUM=num1+num2;RETURN SUM;END $SELECT test_fun1(1,2)$
如果觉得《MySQL必知必会_函数》对你有帮助,请点赞、收藏,并留下你的观点哦!