zoukankan      html  css  js  c++  java
  • MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)

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

    内置函数:

    自定义函数:

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

        SHOW VARIABLES LIKE ‘%fun%’;

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

        set global log_bin_trust_function_creators=1;

      创建函数的语法:

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

          RETURNS 数据类型

          BEGIN

          ……执行的程序代码

          RETURN 数据;

        END;

    1 --默认数据
    2 CREATE TABLE IF NOT EXISTS userinfo(
    3 userid int(11) NOT NULL AUTO_INCREMENT KEY,
    4 username varchar(20) DEFAULT NULL,
    5 userpwd varchar(20) DEFAULT NULL,
    6 );
    7 
    8 INSERT INTO userinfo VALUES(1,'admin','123'),(2,'test','test'),(4,'yy','ko'),(5,'yy','ko');
    默认数据
     1 --13 函数的创建
     2 --求两个数的和
     3 DELIMITER //
     4 CREATE  FUNCTION fun_add(a int, b int)
     5 RETURNS int
     6 BEGIN
     7     RETURN a+b;
     8 END 
     9 //
    10 
    11 DELIMITER ;
    12 SELECT  fun_add(1,2);
    13 
    14 SHOW CREATE FUNCTION fun_add;
    15 
    16 
    17 --用户登陆检测
    18 DELIMITER //
    19 CREATE  FUNCTION fun_login(uname VARCHAR(20), pwd VARCHAR(20))
    20 RETURNS VARCHAR(20)
    21 BEGIN
    22     DECLARE rowResult int DEFAULT 0;
    23     SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname;
    24     IF rowResult =0 THEN
    25         RETURN '用户不存在!';
    26     END IF;
    27     SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname AND userpwd=pwd;
    28     IF rowResult =0 THEN
    29         RETURN '密码错误!';
    30     ELSE
    31     RETURN '登陆成功!';
    32     END IF;
    33 END 
    34 //
    35 
    36 DELIMITER ;
    37 SELECT  fun_login('admin','123');
    函数的创建测试

    函数的管理:

      查看数据库下的函数:

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

      查看函数内容:

        SHOW CREATE FUNCTION fun_name;

      删除函数:

        DROP FUNCTION IF EXISTS fun_name;

    这都是我对自己学习过程的理解,如有错误请指出!我算一个小白了。
  • 相关阅读:
    编译nginx时openssl报错的解决方案
    编译nginx时make报错[-Werror=implicit-fallthrough=]的解决方案
    centos8下编译安装tomcat
    解决centos安装不上apache:No match for argument: httpd
    编译安装apache
    编译apache出现gcc: error: /usr/lib/rpm/redhat/redhat-hardened-ld: No such file or directory
    配置与管理FTP服务器
    2018icpc南京现场赛-I Magic Potion(最大流)
    Codeforces 1062B Math(质因数分解)
    BZOJ 1009 [HNOI2008]GT考试(矩阵快速幂优化DP+KMP)
  • 原文地址:https://www.cnblogs.com/darwinli/p/9036547.html
Copyright © 2011-2022 走看看