mysql儲存過程

2022-08-27 17:18:07 字數 2105 閱讀 9546

如果可以省去其中語法分析和語法編譯的環節,執行效率就會提高;

儲存過程是sql語句與控制語句預編譯的集合,以乙個名稱儲存並作為乙個單元處理;

簡單來說是:多條相同的sql命令執行時每次都會分析、編譯、執行,而儲存過程只在第一次執行時分析、編譯,之後每次呼叫都會直接呼叫編譯的結果,這樣效率就會提高。

1、增強了sql的功能和靈活性(儲存過程中可以加入多條判斷語句,根據判斷結果不同,執行的結果也會不同)

2、提公升了執行的效率(儲存過程只在第一次執行時會分析語句、編譯語句)

3、減少網路流量(執行普通sql傳遞的字元多,越複雜的sql語句傳遞的字元越多,儲存過程的字元數穩定且少)

create procedure sp1() select now();

使用儲存過程,不帶引數的情況下:(加不加括號都可以):

drop procedure 儲存過程名

列:drop procedure sp1;

create procedure removeuserbyid(in p_id int unsigned)

-> delete from users where id=p_id;

執行完成後:

(1)首先查詢表中所有資料:

(2)使用建立的儲存過程:call removeuserbyid(17);

(3)查詢表中資料:

改變結束符號為「//」 在建立儲存過程時會用到「;」 不能讓它結束

delimiter //

建立儲存過程:輸入用in ,引數是p_id, int 型別,unsigned 代表無符號整型,返回引數用out,引數名 usernums,有兩條語句用begin和end包起來,select ...into...將查詢到的結果存入into後面的變數usernums

create procedure removeuserandreturnusernums(in p_id int unsigned,out usernums int unsigned)

->begin

->delete  from users where id=p_id;

->select count(id) from users into usernums;

->end

->//

結束符號改回原來的「;」

查詢users表中的記錄總數:

使用儲存過程並檢視:@nums變數來接收返回的總數

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...

mysql 儲存過程 MySQL儲存過程

目錄 儲存過程 簡介是一組為了完成特定功能的sql語句集合 比傳統sql速度更快 執行效率更高 儲存過程的優點 執行一次後,會將生成的二進位制 駐留緩衝區,提高執行效率 sql語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...