假设students表中包含id和name两个字段,创建一个函数,函数的作用是根据id查找name

1、创建表,插入数据

create table students(id int,name varchar(100));
insert into students(id,name) values(1,'annie'),(2,'bell'),(3,'danny');

2、创建函数

DELIMITER //
create function find_student(id int) returns varchar(100)
READS SQL DATA
begindeclare sname varchar(100) default '';select students.name into sname from students where students.id=id;return sname;
end //
DELIMITER ;

需要注意的事项
1)使用DELIMITER//修改分隔符
mysql的默认语句结束符号是分号,当mysql遇到分号时就自动执行当前语句。因为函数定义时包含多条sql语句,所以使用DELIMITER //先将分隔符设置为//,等函数创建语句完成后,再将分隔符改回分号即可。

2)READS SQL DATA
之前我没写这句话,但是创建时mysql报错,提示Error Code: 1418. 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)
上网查了一下,意思是没有声明mysql函数的类型:

mysql开启了bin-log, 我们就必须指定我们的函数是否是哪种类型:
1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句
所以我加上了READS SQL DATA

3)使用局部变量
变量定义:我这里使用declare sname varchar(100) default ‘’;定义了局部变量sname,
变量使用:
可以使用select students.name into sname from students where students.id=id;为变量赋值
也可以直接使用set语句来赋值,如set sname=‘test’

3、执行函数:select 函数名(参数值);

select find_student(3);

Mysql中自定义函数的创建和执行相关推荐

  1. mysql中常用函数与存储过程的创建

    mysql中常用函数与存储过程的创建 常用函数汇总 数学函数 字符串函数 日期和时间函数 条件判断函数 系统函数 加密函数 其他函数 自定义函数 自定义变量的声明和赋值 基本语法 实例 存储过程 事务 ...

  2. MySQL如何自定义函数

    在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...

  3. python使用del保留字定义一个函数-python中自定义函数的保留字是

    基本使用(推荐学习:Python视频教程)def function_name(parameters): expressions Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数 ...

  4. Python自定义函数的创建、调用和函数的参数详解

    这篇文章主要介绍了Python自定义函数的创建.调用和函数的参数.变量作用域等常见问题,需要的朋友可以参考下 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性 ...

  5. 自定义函数(创建函数)

    自定义函数(创建函数) 首先,简单介绍一下什么是函数 函数是完成特定任务的独立程序代码单元.语法规则定义了函数的结构和使用方式. 使用函数可以省去编写重复代码的苦差.函数让程序更加模块化,从而提高程序 ...

  6. 自定义函数的创建及调用

    自定义函数的创建及调用 函数是指编写好的,可以重复使用的代码段. Python中,函数有内置函数和自定义函数2种. 内置函数是指:像print.input.type 等安装Python后就能直接使用的 ...

  7. 7.1 python 自定义函数的创建及调用

    第七章 函数 7.1 自定义函数的创建及调用 函数是指编写好的,可以重复使用的代码段. Python中,函数有内置函数和自定义函数2种. 内置函数是指:像print.input.type 等安装Pyt ...

  8. mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法

    1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...

  9. mysql中concat函数的使用相关总结

    concat(str1,str2) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11','22','33') ...

最新文章

  1. python3.8.5是python3吗_Python 升级到3.8.5
  2. 1.6 万字长文带你读懂 Java IO
  3. BROCADE使用小技巧
  4. php imap配置,php中的自定义IMAP命令
  5. VTK:可视化算法之StreamlinesWithLineWidget
  6. mysql 5.7安装完密码是多少_关于mysql5.7.18的安装并修改初始密码的图文教程
  7. python多版本控制操作方法
  8. [Bzoj]5343: [Ctsc2018]混合果汁
  9. 备库批量查询失败的原因分析
  10. 攻击者利用Python 勒索软件加密 VMware ESXi 服务器
  11. python 字符串替换_python字符串替换的2种方法
  12. 50.magento 订单状态
  13. 一步一步解决“不能上网”
  14. Python获取列表中字符串最长位置处的索引值
  15. stm32 LCD1602显示
  16. NitroShare —— 跨平台的局域网文件传输工具
  17. 安卓按键:紫猫老师的正则教程
  18. linux下轻松修改pdf文件
  19. 磨刀不误砍柴工——VS生成事件
  20. 手机时钟软件推荐,创意时钟APP介绍

热门文章

  1. TCP之报文格式解析
  2. 怎么在视频中截取音频作为手机铃声?
  3. linux系统下u盘变成只读模式如何修改
  4. Android Studio 环信IM聊天设置用户头像
  5. 声纹识别(1)声纹识别的测试集和数据预处理
  6. c语言怎么返回数组,c++从函数返回数组的方法代码
  7. Java 获取年份-月份
  8. Java多线程开发的实际应用场景
  9. 最基础的协同过滤介绍
  10. Java 深入掌握JMS:JSM基础