数据库MySQL/mariadb知识点——函数
生活随笔
收集整理的這篇文章主要介紹了
数据库MySQL/mariadb知识点——函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
函數
函數,就是將一段代碼封裝到一個結構中,在需要執行該段代碼的時候,直接調用該結構(函數)執行即可。此操作,實現了代碼的復用。在 MySQL 中,函數有兩種,分別為:系統函數和自定義函數。
1、系統函數
顧名思義,系統函數就是系統定義好的函數,在需要的時候,我們直接調用即可。
任何函數都有返回值(對于空函數,我們就認為其返回值為空),而且在 MySQL 中任何有返回值的操作都是通過select來操作的,因此 MySQL 的函數調用就是通過select來實現的。
參考官方文檔:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html
2、自定義函數(user-defined function:UDF)
自定義函數保存在mysql.proc表中
-
查看UDF列表
-
查看UDF定義
-
刪除UDF?
- 調用自定義函數語法?
- 為變量賦值
-
查看變量
示例1:無參UDF
MariaDB [testdb]> CREATE FUNCTION simpleFun() RETURNS VARCHAR(20) RETURN "Hello World!“;示例2:有參數UDF
MariaDB [testdb]> DELIMITER // #修改結束符為// MariaDB [testdb]>CREATE FUNCTION deleteById(uid SMALLINT UNSIGNED) RETURNS VARCHAR(20)-> BEGIN->DELETE FROM students WHERE stuid = uid;-> RETURN (SELECT COUNT(uid) FROM students);-> END// Query OK, 0 rows affected (0.01 sec) MariaDB [testdb]> DELIMITER ; #定義完函數后再修改回來示例3:
自定義函數中定義局部變量語法:
DECLARE 變量1[,變量2,... ]變量類型 [DEFAULT 默認值]
說明:局部變量的作用范圍是在BEGIN...END程序中,而且定義局部變量語句必須在BEGIN...END的第一行定義
MariaDB [testdb]> DELIMITER // #修改結束符為// MariaDB [testdb]> CREATE FUNCTION addTwoNumber(x SMALLINT UNSIGNED, Y SMALLINT UNSIGNED)-> RETURNS SMALLINT-> BEGIN-> DECLARE a, b SMALLINT UNSIGNED DEFAULT 10;-> SET a = x, b = y;-> RETURN a+b;-> END// Query OK, 0 rows affected (0.01 sec) MariaDB [testdb]> DELIMITER ; #定義完函數后再修改回來 MariaDB [testdb]> SELECT addTwoNumber(8,9); #調用UDF求和 +-------------------+ | addTwoNumber(8,9) | +-------------------+ | 17 | +-------------------+查看函數
查看函數,基本語法為:
SHOW FUNCTION STATUS;查看函數定義
SHOW CREATE FUNCTION function_name
轉載于:https://www.cnblogs.com/Gmiaomiao/p/9207561.html
總結
以上是生活随笔為你收集整理的数据库MySQL/mariadb知识点——函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS3中的浮动
- 下一篇: ios常用数据库、完美无缺