Mysql學習筆記 10 函式

2021-08-20 17:30:08 字數 1590 閱讀 6826

含義:一組預先編譯好的sql語句的集合,可以理解成批處理語句

作用

和儲存過程的區別

儲存過程:可以有0個返回,也可以有多個返回,適合做批量插入、批量更新

函式:有且僅有1 個返回,適合做處理資料後返回乙個結果

delimiter $

create function 函式名(引數列表) returns 返回型別

begin

函式體end$

delimiter ;

注意

select 函式名(引數列表)
函式使用由於函式是有返回值的,所以使用select是可以列印出這個值的。

案例:返回學生表的總個數

1.1 建立函式

delimiter $

create function myfun1() returns int

begin

declare num int default 0; #定義乙個變數

select count(*) into num #賦值

from student;

return num; #返回值

end $

delimiter ;

定義好後需要執行以下進行編譯

1.2 呼叫函式

案例:根據學生名返回分數

2.1 建立函式

delimiter $

create function myfun2(stuname varchar(20)) returns int

begin

declare grade int default 0; #定義變數

select s.grade into grade #賦值

from student s

where s.name = stuname;

return grade; #返回

end $

delimiter ;

2.2 呼叫

select  myfun2('蓋倫');

show create function myfun1;

drop function myfun2;

MySQL學習筆記1 0

1.這兩種日誌有以下三點不同。redo log 是 innodb 引擎特有的 binlog 是 mysql 的 server 層實現的,所有引擎都可以使用。2.redo log 是物理日誌,記錄的是 在某個資料頁上做了什麼修改 binlog 是邏輯日誌,記錄的是這個語句的原始邏輯。3.redo lo...

PHP學習筆記10 函式

1.php自定義函式 function f1 2.帶返回和引數的自定義函式 可以返回陣列和物件的任意型別 function f2 a,b 3.可變函式 通過變數的值來呼叫函式,因為變數的值是可變的,所以可以通過改變乙個變數的值來實現呼叫不同的函式。可變函式的呼叫方法為變數名加上括號。function...

Kt學習筆記(10)函式

一 基本用法 kt函式必須使用fun關鍵字開頭,後面緊跟函式名,以及一對小括號,小括號是函式引數列表,如果函式有返回值,在小括號後面加冒號,冒號後面是函式返回值型別。函式的標準定義 fun double x int int在kt中呼叫函式,函式名後面是小括號,小括號中是要傳遞的函式引數值 var r...