MySQL學習筆記 四 儲存過程

2022-07-09 06:06:11 字數 2089 閱讀 4726

儲存過程是資料庫定義的一些sql語句的集合,然後直接呼叫這些儲存過程和函式來執行已經定義好的sql語句。儲存過程可以避免開發人員重複的編寫相同的sql語句,而且儲存過程是在mysql伺服器中儲存和執行的,可以減少客戶端與伺服器端的資料傳輸。

(1)提供執行效能

通常在客戶端執行sql命令時,在資料庫有解析到編譯這個前期準備過程。但是,儲存過程是先完成了解析、編譯的處理後儲存在資料庫中的,執行時能減輕資料庫負擔,提高執行效能。

(2)可減輕網路負擔

使用儲存過程後,複雜的資料庫操作也可以在資料庫伺服器中完成,只要從應用程式傳遞給資料庫必要的引數就行,比起多次傳遞sql命令,這大大減輕了網路負擔。

#建立儲存過程

create procedure p1()

begin

select * from t_user;

end

#呼叫儲存過程

call p1();

#檢視儲存過程

show procedure status;

#刪除儲存過程

drop procedure p1;

#1.建立帶引數的儲存過程

create procedure p2(i int)

begin

select * from t_user where id > i;

end#2.呼叫帶引數的儲存過程

call p2(3);

結果:

#1.建立帶判斷語句的儲存過程

create procedure p3(i int,j char(10))

begin

if j = 'high' then

select * from t_user where id > i;

elseif j = 'low' then

select * from t_user where id < i;

end if;

end#2.呼叫帶選擇結構的儲存過程

call p3(3,'low');

結果:

#1.使用case命令多重條件分支

create procedure p4(i int)

begin

case i

when 1 then

select * from t_user where address='北京';

when 2 then

select * from t_user where address='上海';

else

select * from t_user where address='吉林';

end case;

end#2.檢視結果

call p4(2);

結果:

#1.建立區域性變數

create procedure p5(i int)

begin

declare temp varchar(10);

case i

when 1 then

set temp = '北京';

when 2 then

set temp = '上海';

when 3 then

set temp = '吉林';

end case;

select * from t_user where address= temp;

end#2.檢視結果

call p5(3);

結果:

mysql學習筆記 儲存過程

sql view plain copy use test drop table if exists t8 create table t8 s1 int,primary key s1 drop procedure if exists handlerdemo delimiter create proce...

Mysql儲存過程學習筆記

在pl sql中,主要包括declare部分 宣告引數 begin.end部分和例外部分。mysql儲存過程建立的格式 create procedure過程名 過程引數 特性.過程體 選中 函式右鍵 新建建立 完成 輸入函式體 儲存名字 語法 create procedire 儲存過程命名 開始 函...

mysql儲存過程學習筆記

儲存過程理解 1.儲存過程 類似函式或者方法,是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給定引數 如果該儲存過程帶有引數 來呼叫執行它。2.mysql儲存過程的建立 mysql儲存過程建立的格式 create procedure 過程名 過程引數 特...