MYSQL進階學習筆記五:MySQL函數的建立!(視頻序號:進階_13)

來源:互聯網
上載者:User

標籤:select   lob   not   mic   學習   strong   declare   iter   returns   

知識點六: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 BEGIN22     DECLARE rowResult int DEFAULT 0;23     SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname;24     IF rowResult =0 THEN25         RETURN ‘使用者不存在!‘;26     END IF;27     SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname AND userpwd=pwd;28     IF rowResult =0 THEN29         RETURN ‘密碼錯誤!‘;30     ELSE31     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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.