1.创建语句:create function function_name returns {string|integer|real|decimal} routine_body
routine_body即函数体,由合法的sql语句构成,函数体可以是简单的select语句或insert语句。
函数体如果为复合结构则使用begin...end语句,复合结构可以包含声明,循环,控制结构。
2.不带参数函数的创建: create function f1() returns varchar(30)
return date_format(now(),'%Y年%m月%d日 %H点:%i分:%s秒');
函数名f1,,返回值形式是varchar(30),返回一个函数体。
3.带有参数的自定义函数:create function f2(num1 smallint unsigned,num2 smallint unsigned)
-> returns float(10,2) unsigned //返回类型float,长度为10,2位小数
-> return (num1+num2)/2; //计算方式是两个数的平均值
函数名f2,参数num1和num2,类型是smallint unsigned
4.创建具有复合结构函数体的自定义函数: delimiter // 将结束符改为//
create function adduser(username varchar(20)) 新建名为adduser的函数 参数是username
-> returns int unsigned 返回类型为int 无符号型
-> begin 函数体开始
-> insert test(username) values(username); 向表test的username 插入参数值username
-> return last_insert_id(); 返回最后一个数据的id
-> end 函数体结束
-> // 数据库语句结束
调用: select adduser('Rose');// Rose即为参数,返回最后插入值的id号
5.删除函数: drop function [if exists] function_name
一直在http://www.imooc.com/ 学习,感觉不错。