MySQL函数 | 您所在的位置:网站首页 › 函数的函去掉四点 › MySQL函数 |
二、函数
含义:一组预先编译好的SQL语句的集合,理解成批处理语句 好处: 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 存储过程与函数的区别: 关键字 调用语法 返回值 应用场景 存储过程: procedure call 存储过程() 可以有0个或多个返回 用于做批量插入和更新(即增删改) 函数: function select函数() 有且仅有1个返回 用于做处理数据后返回一个结果 一、创建函数 语法: create function 函数名(参数列表) retrurns 返回类型 begin 函数体 end 注意: 参数列表包含两部分: 参数名 参数类型函数体:肯定会有return语句,如果没有会报错 如果return语句没有放在函数体的最后也不会报错,但不建议 return值;(建议放最后)函数体中仅有一句话,则可以省略begin end使用delimiter语句设置结束标记学过的函数:LENGTH、SUBSTR、CONCAT等 二、调用语法 语法: SELECT 函数名(参数列表) 即执行函数中的所有语句,并显示返回值 #函数的使用(案例演示) 无参有返回 #返回公司的员工个数 注:mysql的设置默认是不允许创建函数这是我们开启了bin-log, 我们就必须指定我们的函数是否是 1 .DETERMINISTIC 不确定的 2 .NO SQL 没有SQl语句,当然也不会修改数据 3 .READS SQL DATA 只是读取数据,当然也不会修改数据 4. MODIFIES SQL DATA 要修改数据 5. CONTAINS SQL 包含了SQL语句 其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。 在MySQL中创建函数时出现这种错误的解决方法: set global log_bin_trust_function_creators=TRUE; 或执行: set global log_bin_trust_function_creators=1; declare c int default 0;→定义局部 变量 select count(*) into c →赋值 三、查看函数 show create function myf1; 四、删除函数 drop function myf3; |
CopyRight 2018-2019 实验室设备网 版权所有 |