45 mysql 儲存過程

2022-05-09 23:08:59 字數 2867 閱讀 9577

檢視是乙個虛擬的暫時的表,它的建立由查詢定義,檢視包含一系列帶有行和列的資料。

檢視的特點:

1. 檢視的列可以來自不同的表,是表的抽象和邏輯意義上建立的新關係。 

2. 檢視是由基本表(實表)產生的表(虛表)。 

3. 檢視的建立和刪除不影響基本表。 

4. 對檢視內容的更新(新增、刪除和修改)直接影響基本表。 

5. 當檢視來自多個基本表時,不允許新增,修改和刪除資料

檢視的操作過程:

1、建立檢視:

createview檢視名稱assql 查詢語句

2、使用檢視:

select*from檢視名稱   (將檢視展示出來)

3、修改檢視:

alterview檢視名稱 assql語句(比如:select * from goods where id  >3 ),好像和建立差不多了……

4、刪除檢視:

dropview檢視名稱

儲存過程:類似於函式(方法),簡單的說儲存過程是為了完成某個資料庫中的特定功能而編寫的語句集合,該語句集包括sql語句(對資料的增刪改查)、條件語句和迴圈語句等。

1. 檢視現有的儲存過程

1showprocedurestatus;

2 .刪除儲存過程

1dropprocedure儲存過程名稱;

3. 呼叫 儲存過程

1call 儲存過程名稱(引數入/出型別 引數名 資料型別);

4.建立儲存過程

1、封裝

建立儲存過程:為表增加值  

create procedure p1()

begin

insert into goods values(null,'鴨子',50);

select * from goods ;

end  

呼叫儲存過程:

call p1();

2、帶引數的儲存過程

建立儲存過程

create procedure p2(in i int ,inout names varchar(50) )

begin

update goods set name = names where id = i ;

select * from goods ;

end呼叫帶引數的儲存過程

set @names = '韓涉';     #提前需要設定變數名,要帶有@

call p2(1,@names);      #呼叫儲存過程

select @names    #這個變數名也可以顯示出來

mysql中有三種出入引數型別:分別為:1.in入參型別  2.out出參型別   3.inout出入參型別

3、帶判斷的儲存過程

create procedure p4 (in f char(5),in nums int)

begin

if f ='true' then select * from goods where num >= nums ;

elseif f ='false' then select * from goods where num < nums;

else select * from goods ;

end if ;

endcall p4('false',20);  #呼叫儲存函式

4、帶迴圈的儲存過程 --  計算100 以內的總和

begin

declare i int default 0;

declare sum int ;

while i <= n do

set i = i + 1 ;

set sum = sum + i ;

end while;

end-- 呼叫函式

set @n = 100 ;

call p5(@n);

檢視儲存過程

show procedure status;

刪除儲存過程

drop procedure p1;

計算x+y

create function f ( x int , y int)

returns int

begin

declare sum int default 0;

set sum = x + y;

return (sum);

end-- 呼叫函式:

select f(101,2)

select g.*,f(101,2) from goods g

1、什麼是事物?

一組sql語句批量執行,要麼全部執行成功,要麼全部執行失敗

2、事物的特徵

對於其資料修改,要麼全都執行,要麼全都不執行。

資料庫原來有什麼樣的約束,事務執行之後還需要存在這樣的約束,所有規則都必須應用於事務的修改,以保持所有資料的完整性。

乙個事務不能知道另外乙個事務的執**況(中間狀態)

即使出現致命的系統故障也將一直保持。不要告訴我系統說commit成功了,回頭**告訴我,伺服器機房斷電了,我的事務涉及到的資料修改可能沒有進入資料庫。

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