日期:2020/12/01
好處:提高**的重用性,簡化操作儲存過程:
含義:一種預先編譯好的sql語句的集合,理解成批處理語句。
好處:
注意:create procedure 儲存過程名(引數列表)
begin
儲存過程體(一組合法的sql語句)
end
引數列表包含三部分,引數模式,引數名,引數型別
注意事項:引數模式:
in:該引數可以作為輸入,也就是該引數需要呼叫
out:該引數可以作為輸出,也就是該引數可以作為返回值
inout:該引數可以作為輸入也可以作為輸出,
也就是該引數需要傳入值,也可以返回值。
舉例:in stuname varchar(20)
call 過程儲存名(實參列表)
這樣的話儲存過程就建立好了,然後我們來呼叫這個儲存過程:#案例:插入到admin表中五條記錄(girls資料庫中)
在命令提示符裡輸入以下語句:
delimiter //
create procedure myp1()
begin
insert into admin(username,`password`)
values('馬保國1','1111'),
('馬保國2','2222'),
('馬保國3','3333'),
('馬保國4','4444'),
('馬保國5','5555');
end //
call myp1()//
顯示ok,我們就可以來檢視這個儲存過程,使用以下語句:
select * from admin//
#案例:建立儲存過程實現 根據女神名,查詢對應的男神資訊
create procedure myp2(in beautyname varchar(20))
begin
select bo.*
from boys bo
right join beauty b on bo.id=b.boyfrind_id
where b.name=beautyname;
end //
然後再根據上面類似的方法來呼叫
create procedure myp34(in beautyname varchar(20),out boyname varchar (20))
begin
select bo.boyname into boyname
from boys bo
inner join beauty b on bo.id = b.boyfriend_id
where b.name=beautyname;
end//
#呼叫call myp5('小昭',@bname)//
select @bname//
#案例:傳入a和b兩個值,最終a和b都翻倍並返回
create procedure myp4(inout a int ,inout b int)
begin
set a=a*2;
set b=b*2;
end $
#再呼叫
set @m=10$
set @n=20$
call myp4(@m,@n)$
select @m,@n$
語法:drop procedure 儲存過程名比如我要刪除myp1,可以使用以下語句:
drop procedure myp1;
注意,儲存過程只能乙個乙個刪除,如果使用
drop procedure myp1,myp2,myp3;
會報錯~
語法:比如我要檢視myp2的儲存過程資訊,可以使用以下語句:show create procedure 儲存名
show reate percedure myp2;
MYSQL學習筆記九(索引)
1.1 概念 在mysql中,索引的關鍵字為index也叫做 鍵 key 是儲存引擎用於快速找到記錄的一種資料結構。當表中的資料量越來越大時,索引對於良好的效能非常關鍵。索引優化應該是對查詢效能優化最有效的手段,建立乙個真正最優的索引經常需要重寫sql查詢語句。注意 索引一般建立在經常的查詢的字段上...
mysql學習筆記 九 聯合查詢
union 聯合 合併 將多條查詢語句的結果合併成乙個結果 語法 查詢語句1 union 查詢語句2 union 應用場景 要查詢的結果來自於多個表,且多個表沒有直接的連線關係,但查詢的資訊一致時 特點 1 要求多條查詢語句的查詢列數是一致的!2 要求多條查詢語句的查詢的每一列的型別和順序最好一致 ...
mysql收回許可權 MySQL學習之路(九)
1.備份 mysqldump u使用者名稱 h賬號 default character set 編碼方式 p 資料庫名 位置 備份檔案名.sql 2.登陸資料庫 mysql h 賬號 u 使用者名稱 p 3.備份的是資料庫資料,所以必須先刪除原本的資料庫 然後建立乙個同名資料庫 4.恢復資料庫 my...