引入:
类似于java中的方法,为了完成一个特定的功能,我们把一组预先编译好的SQL语句的集合按照SQL的语法按照特定的规则写成一个能够实现指定功能的代码段。类似这样的代码段就是函数。但是函数有一个特点,结果的返回有且仅有一个。这个就是区别与存储过程的一个内容。
函数概述
MySQL函数概述
1.含义:一组预先编译好的SQL语句的集合,理解成批处理语句。
2.使用函数的好处
(1)、提高代码的重用性。
(2)、简化操作。
(3)、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率。
3.存储过程和函数的区别
存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新。
函数:有且仅有1 个返回,适合做处理数据后返回一个结果。
函数的创建
MySQL函数的创建语法:
1.语法规则:
CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型
BEGIN
函数体
END
2.注意事项:
(1).参数列表 包含两部分:
参数名 参数类型
(2).函数体:肯定会有return语句,如果没有会报错;
如果return语句没有放在函数体的最后也不报错,但不建议return 值;
(3).函数体中仅有一句话,则可以省略begin end。
(4).使用 delimiter语句设置结束标记。
函数的调用
MySQL函数的调用过程
语法:SELECT 函数名(参数列表)
函数的使用举例:
创建用户信息表:
1.情况1:无参数,有返回值,实现用户个数
2.情况2:有参数,有返回值,根据用户名称,返回用户的密码
查看函数的信息
查看函数的信息:
SHOW CREATE FUNCTION + 函数名称;
如:查看函数myf1先关信息,如下:
删除函数
MySQL函数删除
语法: DROP FUNCTION + 函数名称;
如删除myf1函数