首页 > 数据库技术 > 详细

MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)

时间:2018-05-14 16:11:31      阅读:196      评论:0      收藏:0      [点我收藏+]

知识点六: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;

MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)

原文:https://www.cnblogs.com/darwinli/p/9036547.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!