mysql儲存過程程式設計 全 Mysql儲存過程

2021-10-19 19:23:31 字數 1838 閱讀 1011

此文僅作簡單的說明

一、簡介

我們常用的運算元據庫語言後執行,而儲存過程(stored procedure)是一組為了完成特定功能的資料庫中,使用者通過指定儲存過程的名字並給定引數(如果該儲存過程帶有引數)來呼叫執行它。

乙個儲存過程是乙個可程式設計的函式,它在資料庫中建立並儲存。它可以有sql語句和一些特殊的控制結構組成。當希望在不同的應用程式或平台上執行相同的函式,或者封裝特定功能時,儲存過程是非常有用的。資料庫中的儲存過程可以看做是對程式設計中物件導向方法的模擬。它允許控制資料的訪問方式。mysql在5.0以前並不支援儲存過程

二、建立儲存過程

(一)修改結束符:

因為sql語句以分號";"結束,為了建立儲存過程首先要修改乙個結束符:

delimiter //

select * from tablename //

上邊**將結束符換成了"//"

(二)建立儲存過程:

現在可以建立乙個儲存過程了:

create procedure finduser (out username varchar(255))

reads sql databegin

select name into username from userinfo where id=1;end

procedure是程式步驟的意思,可以理解為儲存過程.其中finduser就是這個儲存過程的名字

括號中是儲存過程的引數,out表示是輸出引數,in表示輸入引數。mysql儲存過程的引數用在儲存過程的定義,共有三種引數型別,in,out,inout,形式如:

create procedure([[in |out |inout ] 引數名 資料類形...])

in 輸入引數:表示該引數的值必須在呼叫儲存過程時指定,在儲存過程中修改該引數的值不能被返回,為預設值

out 輸出引數:該值可在儲存過程內部被改變,並可返回

inout 輸入輸出引數:呼叫時指定,並且可被改變和返回

username就是引數名 而varchar(255)則是引數型別。引數型別有:int,float,date,varchar(length)

reads sql data 表明這個儲存過程下面要用sql讀取資料。

begin和end代表開始和結束

(三)呼叫儲存過程:

call finduser(@n)//

select @n//

第一句敲回車執行後,會提示執行成功。第二步執行後或獲取到結果。

在這裡@後面即乙個字串,表明乙個會話變數,在mysql中會話變數不用宣告即可使用,會話變數在整個過程中都

有效,在這裡,呼叫了儲存過程,然後把結果存入了會話變數中,然後查詢會話變數,即可查詢到結果

(四)查詢儲存過程

1、查詢資料庫下有哪些儲存過程:

select name from mysql.proc where db=』資料庫名』;

select routine_name from information_schema.routines where routine_schema='資料庫名';

show procedure status where db='資料庫名';

2、查詢儲存過程詳細:

show create procedure  資料庫.儲存過程名;

(五)修改儲存過程

alter procedure

更改用create procedure 建立的預先指定的儲存過程,其不會影響相關儲存過程或儲存功能。

(六)刪除儲存過程

刪除乙個儲存過程比較簡單,和刪除表一樣:

drop procedure

從mysql的**中刪除乙個或多個儲存過程。

總結

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語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...