知识点六:MySQL函数的创建(13)

内置函数:

自定义函数:

  首先查看是否已经开启了创建函数的功能:

    SHOW VARIABLES LIKE ‘%fun%’;

  如果变量的值是OFF,那么需要开启

    set global log_bin_trust_function_creators=1;

  创建函数的语法:

    CREATE FUNCTION 函数名(变量1,变量2……)

      RETURNS 数据类型

      BEGIN

      ……执行的程序代码

      RETURN 数据;

    END;

 --默认数据
CREATE TABLE IF NOT EXISTS userinfo(
userid int(11) NOT NULL AUTO_INCREMENT KEY,
username varchar(20) DEFAULT NULL,
userpwd varchar(20) DEFAULT NULL,
); INSERT INTO userinfo VALUES(1,'admin',''),(2,'test','test'),(4,'yy','ko'),(5,'yy','ko');

默认数据

 --13 函数的创建
--求两个数的和
DELIMITER //
CREATE FUNCTION fun_add(a int, b int)
RETURNS int
BEGIN
RETURN a+b;
END
// DELIMITER ;
SELECT fun_add(1,2); SHOW CREATE FUNCTION fun_add; --用户登陆检测
DELIMITER //
CREATE FUNCTION fun_login(uname VARCHAR(20), pwd VARCHAR(20))
RETURNS VARCHAR(20)
BEGIN
DECLARE rowResult int DEFAULT 0;
SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname;
IF rowResult =0 THEN
RETURN '用户不存在!';
END IF;
SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname AND userpwd=pwd;
IF rowResult =0 THEN
RETURN '密码错误!';
ELSE
RETURN '登陆成功!';
END IF;
END
// DELIMITER ;
SELECT fun_login('admin','');

函数的创建测试

函数的管理:

  查看数据库下的函数:

    SELECT * FROM mysql.func;或者 SHOW FUNCTION status;

  查看函数内容:

    SHOW CREATE FUNCTION fun_name;

  删除函数:

    DROP FUNCTION IF EXISTS fun_name;

MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)的更多相关文章

  1. mysql的学习笔记(五)

    1.子查询,出现在其他SQL语句的SELECT子句 SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2); 第一个SELECT称为外层查询,第二个称为子查 ...

  2. MYSQL初级学习笔记五:连接查询!(视频序号:初级_37-41)

    知识点七:连接查询(37-41) 什么是连接查询: 连接查询是将两个或两个以上的表按某个条件连接起来,从中选取需要的数据.连接查询是同时查询两个或两个以上的表时使用的.当不同的表中存在相同意义的字段时 ...

  3. PythonI/O进阶学习笔记_2.魔法函数

    前言: 本文一切观点和测试代码是在python3的基础上. Content: 1.什么是魔法函数,魔法函数__getitem__在python中应用. 2.python的数据模型和数据模型这种设计对p ...

  4. Python学习笔记五,函数及其参数

    在Python中如何自定义函数:其格式为 def 函数名(函数参数): 内容

  5. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  7. 基于【 MySql 】二 || mysql详细学习笔记

    mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...

  8. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  9. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. 玩转css样式选择器----当父元素有多个子元素时选中第一个

  2. iOS 取应用版本

    
// 应用网址 返回字典中有多种数据 NSString *urlString2 = [NSString stringWithFormat: @"%@", @"http: ...

  3. iOS7坐标上移44pt的解决

    在iOS7中,引入一个新的属性,叫[UIViewController setEdgesForExtendedLayout:],它的默认值是UIRectEdgeAll.当容器为UINavigationC ...

  4. 重写enum的valueof方法等

    enum 对象的常用方法介绍 int compareTo(E o)           比较此枚举与指定对象的顺序. Class<E> getDeclaringClass()        ...

  5. (43)C#网络1 http

    一.HttpClient类 用于发送http请求,并接受请求的相应 (从4.5起开始可用) using System.Net.Http; 异步调用 HttpClient httpClient = ne ...

  6. (5)Swing事件

    import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; publi ...

  7. 前端跨域调请求 nginx反向代理

    用 本地pc的目录,请求192.168.3.246的接口,以/api为标识 运行命令: 启动 nginx -s start 重启 nginx -s relaod 停止 nginx -s stop 查看 ...

  8. 数据库设计三范式(3NF)

    问:当时你数据库是如何设计的? 答:当时是按照三范式规范设计的: 第一范式: 1:数据库的原子性,即保证数据库表的每一列都不可分割的 第二范式: 1:原子性,即保证数据库表的每一列都不可分割 2:表中 ...

  9. vSphere 6.5支持512e,NVMe SSD呢?

    原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连51 ...

  10. Java8 ChronoUnits枚举

    原文:http://www.yiibai.com/java8/java8_chronounits.html java.time.temporal.ChronoUnit 枚举在 Java8 中添加,以取 ...