小白终是踏上了这条不归路----小文的mysql学习笔记(22)--------函数
小白终是踏上了这条不归路----小文的mysql学习笔记(22)--------函数
**
小白终是踏上了这条不归路----小文的mysql学习笔记(1)
小白终是踏上了这条不归路----小文的mysql学习笔记(2)----条件查询
小白终是踏上了这条不归路----小文的mysql学习笔记(3)----排序询查
小白终是踏上了这条不归路----小文的mysql学习笔记(4)----常见的基本函数
小白终是踏上了这条不归路----小文的mysql学习笔记(5)----分组查询 … 但是和存储过程还是具有一定的区别。
函数和存储过程的区别: 函数: 有且仅有1个返回,适合做处理数据后返回一个结果
ps: 在创建函数的时候同样要用delimiter语句来设置结束标记。
一、函数的创建和调用语法
1、创建语法
语法: create function 函数名(参数列表) returns 返回类型 函数体
end
解释: 函数体: 是我们封装的所有sql语句,在写完函数体后,一定要写上 return 语句 ,不然会报错。
我们一般是在前面写函数体,写完之后在后面写上return值
注意: 如果函数体中仅有一句话,则可以省略begin end
2、调用语法
语法:select 函数名(参数列表)
下面我们来分别举几个栗子来演示一下
在创建函数前,我们需要看看我们是否有创建函数的权限 很明显小文的是0,是没有权限的所以我们要将它开启才能创建函数,不然会报错
所以我们需要:SET @@global.log_bin_trust_function_creators = 1;来开启权限 开启之后我们就可以创建函数了。
补充: 在存储过程中有返回的变量,所以我们不用对此进行设置;但是,在我们的函数中没有所以我们便需要用到 declare来声明变量,并且赋值给我们的sql语句
1、演示无参函数
例(1):返回我们男神表中男神的个数 然后我们调用:返回的便是我们男神表中男神的个数 2、演示有参函数
ps:当然设置局部变量和用户变量都是可以的,所以这里使用一下设置用户变量
例(1):根据我输入的女神名,返回她的电话号码 调用:查询柳岩的电话号码。
例(2) :创建函数实现,根据部门名,返回该部门的最高工资 调用函数:返回Mar部门的最高工资
二、函数的查看和删除
查看语法: show create function 已创建的函数名称;
就是查看函数的定义和状态
举例: 查看我们刚刚创建的函数hs3。 删除语法: drop function 已创建的函数名。
ps:将已创建的函数从库中删除
例子: 将我们刚刚创建的函数hs3删除。
ps:函数和流程控制一样,我们的函数中已经封装了的sql语句是不能更改的,所以如果想要更改我们一般是,将其删除,然后重新创建符合我们需要的新函数
---------喜欢的歌静静听,喜欢的人远远看