MySQL学习笔记-自定义函数
2017-05-22 22:21
344 查看
MySQL学习笔记-自定义函数
1.自定义函数简介
自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同
自定义函数的两个必要条件:(1)参数 (2)返回值
自定义函数:
创建自定义函数
关于函数体:
1.函数体可以由合法的SQL语句构成;
2.函数体可以是简单的SELECT或INSERT语句;
3.函数体如果为复合结构则使用BEGIN...END语句;
4.复合结构可以包含声明、循环、控制结构。
2.创建不带参数的自定义函数
创建日期时间为年月日点分秒格式
3.创建带有参数的自定义函数
创建可以计算2个数的平均值的函数
4.创建具有符合结构函数体的自定义函数
可以通过“DELIMITER 分隔符”修改MySQL中的默认结束符
删除函数:
如果自定义函数存在符合结构,多个语句,函数体要包含在BEGIN...END内,同时,需要通过DELIMITER将默认的结束符 ; 修改成其他符号,如:// $$ ,以免函数由于语句结尾的 ; 号导致中断
1.自定义函数简介
自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同
自定义函数的两个必要条件:(1)参数 (2)返回值
自定义函数:
创建自定义函数
CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body
关于函数体:
1.函数体可以由合法的SQL语句构成;
2.函数体可以是简单的SELECT或INSERT语句;
3.函数体如果为复合结构则使用BEGIN...END语句;
4.复合结构可以包含声明、循环、控制结构。
2.创建不带参数的自定义函数
创建日期时间为年月日点分秒格式
mysql> CREATE FUNCTION f1() RETURNS VARCHAR(30) -> RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒'); Query OK, 0 rows affected (0.00 sec) mysql> SELECT f1(); +-------------------------------------+ | f1() | +-------------------------------------+ | 2016年11月28日 08点:34分:55秒 | +-------------------------------------+
3.创建带有参数的自定义函数
创建可以计算2个数的平均值的函数
mysql> CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) -> RETURNS FLOAT(10,2) UNSIGNED -> RETURN (num1+num2)/2; Query OK, 0 rows affected (0.00 sec) mysql> SELECT f2(10,16); +-----------+ | f2(10,16) | +-----------+ | 13.00 | +-----------+
4.创建具有符合结构函数体的自定义函数
可以通过“DELIMITER 分隔符”修改MySQL中的默认结束符
删除函数:
DROP FUNCTION [IF EXISTS] function_name
如果自定义函数存在符合结构,多个语句,函数体要包含在BEGIN...END内,同时,需要通过DELIMITER将默认的结束符 ; 修改成其他符号,如:// $$ ,以免函数由于语句结尾的 ; 号导致中断
mysql> DELIMITER // mysql> CREATE FUNCTION adduser(username VARCHAR(20)) -> RETURNS INT UNSIGNED -> BEGIN -> INSERT test(username) VALUES(username); -> RETURN LAST_INSERT_ID(); -> END -> // mysql> DELIMITER ; mysql> SELECT adduser('Tom'); +----------------+ | adduser('Tom') | +----------------+ | 3 | +----------------+ mysql> SELECT adduser('Rool'); +-----------------+ | adduser('Rool') | +-----------------+ | 4 | +-----------------+ mysql> SELECT * FROM user; +----+----------+ | id | username | +----+----------+ | 1 | Drive | | 2 | Cve | | 3 | Tom | | 4 | Rool | +----+----------+
相关文章推荐
- MySQL学习笔记(十四)自定义函数
- MySQL学习笔记7:MySQL自定义函数
- mysql自定义函数学习笔记
- MySQL学习笔记 4:自定义函数和MySQL存储过程
- PHP与MYSQL交互函数表学习笔记
- JavaScript学习笔记(十三) 返回函数和"自定义"函数
- sqlserver -- 学习笔记(一)自定义函数(学习总结,备忘)
- MYSQL存储过程和函数学习笔记
- php学习笔记(8):PHP函数和自定义函数
- MySQL学习笔记18:数学函数
- 我的MYSQL学习心得(十) 自定义存储过程和函数
- PHP学习笔记 第七讲 PHP函数和自定义函数
- Python中的自定义函数学习笔记
- MySQL学习笔记18:数学函数
- MYSQL入门学习之十三:自定义函数的基本操作
- MySQL学习笔记19:系统信息函数
- mysql存储过程学习笔记--常用函数
- MySQL学习笔记19:系统信息函数
- MYSQL学习笔记三:日期和时间函数
- MySQL学习笔记(十三)运算符与函数二