MySQL函數,是一種控制流程函數,屬於數據庫用語言。
系統函數:
mysql5.6:https://dev.mysql.com/doc/refman/5.6/en/func-op-summary-ref.html
mysql5.7:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html
自定義函數
保存在mysql.proc表中
創建UDF
CREATE [AGGREGATE] FUNCTION function_name(parameter_name type, [parameter_name type,...])
RETURNS {STRING|INTEGER|REAL}
runtime_body
說明:
參數可以有多個,也可以沒有參數
必須有且只有一個返回值
創建函數
示例:無參UDF
CREATE FUNCTION simpleFun() RETURNS VARCHAR(20) RETURN “Hello World!”;
查看函數列表
SHOW FUNCTION STATUS;
查看函數定義
SHOW CREATE FUNCTION function_name
刪除函數
DROP FUNCTION function_name
調用自定義函數語法
SELECT function_name(parameter_value,...)
示例:
創建函數deleteById,函數作用:從students表中刪除(stuid = uid)的行 DELIMITER // CREATE FUNCTION deleteById(uid SMALLINT UNSIGNED) RETURNS VARCHAR(20) BEGIN DELETE FROM students WHERE stuid = uid; RETURN (SELECT COUNT(stuid) FROM students); END// DELIMITER ; 調用函數 SELECT deleteById(27)