MySql資料庫——儲存過程
一,什麼是資料庫儲存過程?
儲存過程(Stored Procedure)是一組為了完成特定功能的SQL 語句集,經編譯後儲存在資料庫中,使用者透過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。
儲存過程(procedure)類似於C語言中的函式。
用來執行管理任務或應用複雜的業務規則。
儲存過程可以帶引數,也可以返回結果。
儲存過程可以包含資料操縱語句、變數、邏輯 控制語句等。
儲存過程是一組預編譯的SQL語句,它可以包含資料操縱語句、變數、邏輯控制語句等
儲存過程允許帶引數,引數分為:
輸入引數
輸出引數
其中,輸入引數可以有預設值。
二,為什麼要使用儲存過程??(儲存過程的好處/優點)
(1)實現了模組化程式設計。
(2)呼叫一次以後,相關資訊就儲存在記憶體中,下次呼叫時可以直接執行。
(3)儲存過程可以接受輸入引數並可以返回輸出值。
(4)儲存過程具有對資料庫立即訪問的功能。
(5)使用儲存過程可以加快程式的執行速度。
(6)使用儲存過程可以減少網路流量。
(7)使用儲存過程可以提高資料庫的安全性。
三,儲存過程的分類
(1)資料庫系統儲存過程:資料庫自帶
(2)使用者自定義資料庫儲存過程:由使用者根據需要自定義
四,MySql資料庫儲存過程
建立儲存過程:
create procedure 儲存過程名字()
begin
SQL語句/邏輯
end;
呼叫儲存過程:
call 儲存過程名字();
或
call 儲存過程名字(@引數1,@引數2,@引數3,...);
刪除儲存過程:
drop procedure if exists 儲存過程名字; - -這裡儲存過程名字後面沒有()
**五,舉個例子
- 建立資料庫:
create database test; - 使用資料庫:
use test; - 建立資料表student:
create table student(
id int not null comment '學生id',
name varchar(30) comment '學生姓名',
chinese int(3) comment '語文成績',
math int(3) comment '數學成績',
enginsh int(3) comment '英語成績',
count int(3) comment '總成績',
primary key(id)
)Engine=InnoDB default charset=utf8 comment '學生成績表';
4 資料表的資料為:
- 建立帶引數的儲存過程:
create procedure mm(
out min int,
out max int,
out avg decimal(8,2)
)
begin
select MIN(chinese) into min from student;
select MAX(math) into max from student;
select AVG(count) into avg from student;
end;
6.呼叫儲存過程:
call mm(@min,@max,@avg);
該呼叫並沒有任何輸出, 只是把呼叫的結果賦給了呼叫時傳入的變數(@min, @avg, @max)。然後即可呼叫顯示該變數的值。
- 呼叫顯示儲存過程的值:
select @min,@max,@avg;
8.使用in引數, 輸入一個學生id, 返回該學生的總成績
儲存過程程式碼:
create procedure getTotal(
in id int,
out total decimal(8,2)
)
begin
select SUM(s.count) from student s
where s.id = id
into total;
end;
9.呼叫儲存過程:
call getTotal(2, @total);
select @total;
至此就是一個簡單的MySql資料庫儲存過程。
由於慕課網編輯發手記的功能沒有做好,可能存在編輯排版問題,在此也希望慕課網改進!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-2799270/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 資料庫水平分表 儲存過程MySql資料庫儲存過程
- 【資料庫】資料庫儲存過程(一)資料庫儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 資料庫設計:儲存過程資料庫儲存過程
- MySQL的寫入資料儲存過程MySql儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- 儲存過程呼叫不同資料庫的資料儲存過程資料庫
- 資料庫許可權-儲存過程資料庫儲存過程
- Mysql 儲存過程MySql儲存過程
- Mysql使用儲存過程快速新增百萬資料MySql儲存過程
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- 淺談資料庫中的儲存過程資料庫儲存過程
- 資料庫設計:儲存過程主體資料庫儲存過程
- 資料庫開發---常用物件-儲存過程資料庫物件儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- mysql儲存過程整理MySql儲存過程
- MySQL之儲存過程MySql儲存過程
- [MYSQL -23儲存過程]MySql儲存過程
- MYSQL儲存過程管理MySql儲存過程
- mysql儲存過程例子MySql儲存過程
- mysql的儲存過程MySql儲存過程
- 淺談mysql資料庫技術,輕鬆玩轉儲存過程MySql資料庫儲存過程
- MySQL---資料庫從入門走向大神系列(五)-儲存過程MySql資料庫儲存過程
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- sqlserver資料庫還原儲存過程指令碼SQLServer資料庫儲存過程指令碼
- 儲存過程返回資料集儲存過程
- 【Mysql】Mysql儲存過程學習MySql儲存過程
- MySQL 資料庫儲存引擎MySql資料庫儲存引擎
- mysql中使用儲存過程生成1億條資料MySql儲存過程
- Mysql利用儲存過程插入500W條資料MySql儲存過程
- MySql 儲存過程 臨時表 無法插入資料MySql儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- mysql儲存過程案例解析MySql儲存過程
- mysql儲存過程詳解MySql儲存過程
- mysql儲存過程的修改MySql儲存過程
- MySQL儲存過程SAVEPOINT ROLLBACK toMySql儲存過程
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式