Mysql自學 儲存過程

2021-10-02 05:00:57 字數 2497 閱讀 7358

個人的一些學習總結,各位大牛給指正指正。

儲存過程的含義

一組預先編譯好的sql語句的集合。

優點:

1、提高**的重用性。

2、簡化**編寫。

3、減少了編譯次數和伺服器的連線次數,提公升了效率。

格式

create

procedure 儲存過程名稱(引數列表)

begin

儲存過程體(一組sql語句)

end

注意點:

引數包含三個部分:引數模式、引數名、引數型別

#舉例

create

procedure myp1(

in stu_name varchar(20

))begin

end

引數模式總共有三種

儲存過程編寫規則

#建立無參儲存過程,往admin表中插入5筆資料。

#將$作為結束符

delimiter $;

create

procedure myp1(

)begin

insert

into admin(username,password)

values

('jhon'

,'123'),

values

('lucy'

,'123'),

values

('lili'

,'123'),

values

('tom'

,'123'),

values

('rose'

,'123');

end $

-- -------------------帶in模式 兩個引數的儲存過程-------------------

#傳入使用者名稱和密碼,顯示使用者是否登入成功

delimiter $;

create

procedure myp3(

in user_name varchar(20

),in pass_word varchar(20

))begin

declare result int

;#定義區域性變數,接收查詢結果

select

count(*

)into result

from admin

where username = user_name and password = pass_word;

#檢視變數result的值,如果不為0,說明資料中有此使用者,輸入success

select

if(result>0,

'success'

,'fail');

end $

-- -------------------帶out模式引數 的儲存過程-------------------

#傳入使用者名稱和密碼,返回使用者登入成功或失敗的訊息

delimiter $;

create

procedure myp4(

in user_name varchar(20

),in pass_word varchar(20

),out res varchar(10

))begin

declare result int

;#定義區域性變數,接收查詢結果

select

count(*

)into result

from admin

where username= user_name and password = pass_word;

select

if(result>0,

'success'

,'fail'

)into res;

end $

#呼叫上建立的myq1儲存過程

call myp1();

call myp3(

'tom'

,'123');

#有返回引數

call myp4(

'rose'

,'123'

,@result);

#檢視返引數的值

select

@result

;

#刪除單個

drop

procedure myp3;

#刪除多個

drop

procedure myp3,myp4;

show create procedure 儲存過程名

show

create

procedure myp3;

自學Mysql 儲存過程 判斷和迴圈語句

case 用case解決傳入的值是否是數字 create procedure test case num int,out flag varchar 20 begin case num 類似於swtich when num 0 then set flag 是正數 when num 0 then set...

mysql儲存過程 MySQL儲存過程

在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...

mysql 儲存過程 mysql 儲存過程

建立 為建立儲存過程的結束標誌,使用delimiter 可更改標誌 格式create procedure begin sqlend create procedure myprocedure in param integer begin select from tb role where tb rol...