函数

和存储过程类似,是一组预先变异好的SQL语句的集合

区别:

  • 存储过程:可有0个或多个返回。适合做批量插入、批量更新
  • 函数:有且仅有一个返回。适合做处理数据后返回一个结果

语法

一、创建语法

create function 函数名(参数列表) returns 返回类型
begin 函数体
End

注意:

  • 参数列表包含两部份:参数名+参数类型
  • 函数体:肯定会有return语句,如果没有会报错。如果return语句没有放在函数体的最后,也不报错,但是不建议。
  • 函数体中仅有一句话,则可以省略 Begin end
  • 使用delimiter语句设置结束标记

直接在 Navicat 里面创建函数:https://jingyan.baidu.com/article/09ea3ede5a0a37c0afde396e.html

二、调用语法

select 函数名(参数列表)

三、查看和删除

查看:show create function 函数名
删除: drop function 函数名

案例

案例 一:无参数有返回

问题:返回公司员工个数

create function myf1() returns int
begindeclare c int default 0; #定义变量select count(*) into c #为变量赋值from employee;return c;
End $

注意 这里创建函数时可能会遇到错误:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary
logging is enabled ( you * might* want to use the less safe
log_bin_trust_function_creators variable)

解决方式set global log_bin_trust_function_creators=TRUE;

创建完后

点开myf1函数,显示具体的内容

案例二:有参数有返回

create function myf2(employName VARCHAR(20)) returns DOUBLE
beginset @sal=0; #定义用户变量select salary into @salfrom employeeswhere last_name=employName;return @sal;
End $select myfy2('员工名字')$

MYSQL Function函数创建和调用相关推荐

  1. MySQL自定义函数创建与使用总结

    MySQL自定义函数创建与使用总结 MySQL自定义函数和存储过程类似,也需要在数据库中创建并保存.它与存储过程一样,都是由SQL语句和控制语句组成的代码片段,可以被应用程序和其他SQL语句调用. M ...

  2. mysql function怎么创建_mysql,function_mysql创建函数出现问题?,mysql,function - phpStudy

    mysql创建函数出现问题? 大家好,帮我看看下面的mysql的函数有什么问题?一直创建不了. DELIMITER $$ DROP FUNCTION IF EXISTS check_if_exists ...

  3. java mysql自定义函数UDF之调用c函数

    正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. goo ...

  4. MySQL存储过程的创建及调用

    阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的"脚本" 1.创建存储过程 2.调用存储过程 3.存储过程体 4.语句块标签 存储过程的参数 1.in:向过程里 ...

  5. mysql之函数创建

    目录 1.创建 2.调用 3.示例 4.删除 5.查看 6.总结 1.创建 create function 函数名(参数列表) returns  返回类型 begin 方法体 end 注意: 1.参数 ...

  6. MYSQL 存储过程(创建和调用,in、out和inout模式)

    存储过程 含义: 一组预先编译好的SQL语句的集合,可理解成批处理语句,类似于JAVA中的方法. 使用时直接调用名字就可以 好处: 1. 提高代码的重用性:2.简化操作:3.减少了编译次数,并且减少了 ...

  7. Mysql function(函数)

    1.mysql 拼接函数 1. 1CONCAT(string1,string2,-) 说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那 ...

  8. mysql function函数_详解MySQL如何按表创建千万级的压测数据

    概述 有时我们要对系统做压测,或者数据库压力测试,这时候需要对某些表插入几百万或者上千万数据,下面介绍下怎么利用MySQL循环和存储过程对特定表的创建千万行数据. 1.准备测试表 CREATE TAB ...

  9. mysql函数创建与使用_mysql function函数创建与应用方法

    这些语句创建存储子程序.要在MySQL 5.1中创建子程序,必须具有CREATE ROUTINE权限,并且ALTER ROUTINE和EXECUTE权限被自动授予它的创建者.如果二进制日志功能被允许, ...

最新文章

  1. 自定义ViewGroup实现ViewPager的滑动效果
  2. lucene之创建索引代码
  3. 返回一个二维整数数组最大子数组的和
  4. java 加载资源_在Java中加载资源的首选方式
  5. 浪潮5280m4管理口ip_TPLink云路由器如何更改LAN口IP地址 TPLink云路由器更改LAN口IP地址方法【介绍】...
  6. ulimit限制 新系统_graylog日志分析系统上手教程
  7. Sprig 面试中 问及 DI,IOC, AOP
  8. 初识THINKPHP--关于路径的问题(xampp下的htdocs为根目录)
  9. html+css基础-2-盒子模型、选择器优先级、新增伪元素、display:none
  10. 利用JSP编程技术实现一个简单的购物车程序
  11. java 快逸报表_快逸报表V4.0功能说明
  12. 可以直接复制的emoji符号(表情)
  13. Eclipse注释模板与规范
  14. [LOL自走棋] 种族职业数据
  15. 手机配置host的替代方案
  16. 【甄选靶场】Vulnhub百个项目渗透——项目十:stapler-1(文件上传,多方式提权)
  17. 将Excel表格中的数字文本格式转化为数字格式
  18. php表格合并_合并表格怎么合并
  19. 单词接龙c++题解,请勿抄袭
  20. go语言学习第一弹:go和php的区别

热门文章

  1. 可扩展性数据库的架构设计
  2. CMD控制台如何切换到指定的目录
  3. 100314.间谍网络
  4. 椭圆曲线之GF(P)上的点,R+P,2P的CPP实现6.25
  5. command(command怎么读)
  6. GIS数据:4D产品
  7. 关于单片机内存解释的整理
  8. 编码学习笔记,变量,类的命名规则
  9. mac显示隐藏文件夹如何查看?
  10. Python集合文件操作Day03