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資料庫技術,輕鬆玩轉儲存過程MySql資料庫儲存過程
- MySQL之儲存過程MySql儲存過程
- MySQL---------儲存過程MySql儲存過程
- mysql儲存過程整理MySql儲存過程
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- 頭歌資料庫實驗六:儲存過程資料庫儲存過程
- sqlserver資料庫還原儲存過程指令碼SQLServer資料庫儲存過程指令碼
- mysql中使用儲存過程生成1億條資料MySql儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- 金倉資料庫KingbaseES儲存過程 RETURN語句資料庫儲存過程
- mysql 匯入匯出資料庫以及函式、儲存過程的介紹MySql資料庫函式儲存過程
- Mysql資料庫建立儲存過程實現往資料表中新增欄位的方法MySql資料庫儲存過程
- 通過EFCore呼叫GBase8s資料庫儲存過程資料庫儲存過程
- MySQL資料庫操作、儲存引擎MySql資料庫儲存引擎
- 重新學習Mysql資料庫3:Mysql儲存引擎與資料儲存原理MySql資料庫儲存引擎
- MySQL儲存過程 (即函式)MySql儲存過程函式
- mySql 儲存過程與函式MySql儲存過程函式
- Laravel 中使用 MySQL 儲存過程LaravelMySql儲存過程
- mysql儲存過程的引數MySql儲存過程
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- 【故障公告】1個儲存過程拖垮整個資料庫儲存過程資料庫
- 【SqlServer】清除過期資料的儲存過程SQLServer儲存過程
- MySQL 更改資料庫資料儲存目錄MySql資料庫
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- 儲存過程_造使用者資料儲存過程
- 使用JavaScript和Python實現Oracle資料庫的儲存過程?JavaScriptPythonOracle資料庫儲存過程
- MySQL儲存過程語句及呼叫MySql儲存過程
- MySQL儲存過程中如何使用ROLLBACKMySql儲存過程
- Mysql 5.7儲存過程的學習MySql儲存過程