MySQL_06_函数

函数

函数:类似“加工坊”,将用户传来的参数进行处理后再返回


函数分为:系统函数和自定义函数

1)系统函数:系统自身携带,无需定义,直接使用

2)自定义函数:用户自行定义进行使用


自定义函数

自定义函数格式(4步):

CREATE  FUNCTION  函数名 (参数1,参数2,参数N)
RETURNS 返回值的数据类型
[函数选项]
BEGIN
	函数体;
	RETURN 语句;
END;

1)函数参数尽量避免重名,且参数不需DECLARE声明

2)函数只能返回一个值(有且仅有一个)

3)函数不允许返回结果集,即使是在函数内中也不允许

函数选项含义
LANGUAGE SQL默认选项,说明函数体使用SQL语言编写
[NOT] DETERMINISTIC当函数返回不确定值时,防止复制时的不一致性 默认选项是:NOT DETERMINISTIC
CONTAINS SQL函数体中不包含读或写数据的语句
(默认)
NO SQL函数体不包含SQL语句
READS SQL DATA函数体包含SELECT查询语句,不包含更新语句
MODIFIES SQL DATA函数体包含数据更新语句
SQL SECURITY指定函数的执行许可
DEFINER函数只能由创建者调用
INVOKER函数可以被其他数据用户调用 (默认值为DEFINER)
COMMENT为函数添加说明等注释信息

//若包含SELECT语句,需用DECLARE定义一个变量来接受查询结果
//函数总是对同样的输入参数产生同样的结果(则认为是“确定的”)


管理自定义函数

列出查看所有自定义函数信息:

SHOW FUNCTION STATUS;

1)自定义函数较多时,可以使用LIKE进行模糊查询


列出指定函数名的详细信息:

SHOW CREATE FUNCTION 函数名;

1)在指定函数名时不需带上()和参数,直接函数名即可


查看指定数据库中所有自定义函数名

SELECT  name
FROM  mysql.proc
WHERE db=‘数据库名’ AND  TYPE =‘函数库名’

查询指定函数函数的详细信息:

SELECT  *
FROM  information_schema.routines
WHERE  routine_name=‘函数名’;

//函数的信息都保存在information_schema数据库的routines表中


查询指定
删除自定义函数:

DROP FUNCTION 函数名;

1)函数保存的仅仅是函数体(MySQL表达式),不保存任何用户数据

2)自定义函数进行修改时只能先删除,后再建立一个同名函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值