標籤: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)