1 首先查看创建函数的功能是否开启
>show variables like '%func%';默认为log_bin_trust_function_creators=off,可开启
>set global log_bin_trust_function_creators=1;2 创建函数
当然,你要在需要的数据库下创建
这里,先了解并 推荐使用 'delimiter $$',表示设置 $$ (可以自行定义)为命令终止符号,代替分号(我们经常在begin..end中用到分号);用完之后你还可以通过 'delimiter ;' 恢复为原来的命令终止符号
create function FX(param1 数据类型, param2 数据类型, ...)returns 数据类型begin return 1;end3 使用
>select FX('m','n',...);4 删除
>drop function FX;5 查看
>show function status; //显示所有>show create function function; //查看某个具体的 ?6 相关详解
1)变量定义和赋值
>declare variable_name1 数据类型 [default value],variable_name2 数据类型, ...>set 变量名=表达式值 [variable_name=expression ...]2)用户变量定义和赋值
>select 'xxxx' into @param; //用户变量以@开头。请合理使用用户名。>select @param='xxxx';>select @param; //显示变量值3)函数变量赋值
>select 某字段1,某字段2 into 某参数1,某参数2 from 某表 [其他sql子句];存储过程 stored procedure (5.0之后支持的新功能)
1 为什么用它?
首先,要知道我们执行SQL语句时是需要先编译,再执行的;而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中;用户通过指定存储过程的名字(若需要,给定参数)来调用执行。——至少一个优点就是提高了执行速度。
2 创建
>create procedure 过程名(参数类型 参数名 数据类型) >过程体 //begin...end (同样推荐 delimiter 分隔符 以区分 程序中需要用到的 ';')参数类型:
in—输入参数,表示该参数的值必须在调用过程时指定,在存储过程中可修改该参数的值,但不能被返回,参数为默认值
out—输出参数,该参数值可在存储过程中改变,并可返回
inout—输入输出参数,调用时指定,可被改变和返回
3 查看
>show procedure status where db='数据库名';>show create procedure 数据库.存储过程名;4 修改/删除(具体使用参考手册)
alter/drop procedure