# 存儲過程
簡單來說,存儲過程就是一條或多條SQL語句集,可視化為批文件,但是其作用不限于批處理.
## 創(chuàng)建存儲過程
```sql
create procedure 名稱 ([參數(shù)列表])
[存儲特性...] SQL內(nèi)容
```
### 參數(shù)列表
參數(shù)列表形式如下:
```sql
[ in|out|inout ] 參數(shù)
```
|類型|說明|
|-|-|
|in|表示輸入?yún)?shù)|
|out|表示輸出參數(shù)|
|inout|表示既可以輸入也可以輸出|
### 存儲特性
存儲特性有以下取值:
+ language sql 說明(SQL內(nèi)容)部分是由sql語句組成
+ [not] deterministic 指明執(zhí)行結(jié)果是[否]確定的,相同輸入得到相同結(jié)果為確定,
+ {contains sql|no sql|reads sql data|modifies sql data} 指明SQL語言的限制
+ contains sql 表明包含sql語句,但是不包含讀寫數(shù)據(jù)
+ no sql 表明不包含sql語句
+ reads sql data 說明包含讀數(shù)據(jù)的語句
+ modifies sql data 表明包含寫sql語句
+ sql security{definer|invoker} 指明誰有權(quán)限執(zhí)行
+ definer 表示定義者才能執(zhí)行
+ invoker 表示調(diào)用者才能執(zhí)行
+ comment 'string' 注釋信息
### PHP調(diào)用存儲過程
```sql
$conn = mysql_connect('localhost','root','root') or die ("數(shù)據(jù)連接錯誤!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end;
";
mysql_query($sql);//創(chuàng)建一個myproce的存儲過程
$sql = "call test.myproce();";
mysql_query($sql);//調(diào)用myproce的存儲過程,則數(shù)據(jù)庫中將增加一條新記錄。
```
## 調(diào)用存儲過程
```sql
call 存儲過程名稱([參數(shù)[,參數(shù)]...]);
```
## 查看存儲過程
```sql
show procedure status [like '值'];
```
## 修改存儲過程
可以修改存儲過程的特性,如果要修改過程,必須刪除后重寫代碼
```sql
alter procedure 存儲過程名稱 [存儲特性...];
```
## 刪除存儲過程
```sql
drop procedure [if exists] 存儲過程名稱;
```
- 簡介
- 數(shù)據(jù)庫
- 數(shù)據(jù)表
- 創(chuàng)建數(shù)據(jù)表
- 查看數(shù)據(jù)表結(jié)構(gòu)
- 修改數(shù)據(jù)表
- 刪除數(shù)據(jù)表
- 查詢數(shù)據(jù)
- 表單查詢
- 聚合查詢
- 鏈接查詢
- 子查詢
- 聯(lián)合查詢
- 正則查詢
- 數(shù)據(jù)管理
- 數(shù)據(jù)類型
- 添加數(shù)據(jù)
- 更新數(shù)據(jù)
- 刪除數(shù)據(jù)
- 索引
- 索引分類
- 設(shè)計(jì)原則
- 添加索引
- 查看索引
- 刪除索引
- 視圖
- 視圖操作
- 視圖應(yīng)用
- 事務(wù)
- 觸發(fā)器
- 存儲過程和函數(shù)
- 變量
- 異常處理
- 光標(biāo)
- 流程控制
- 存儲過程
- 自定義函數(shù)
- 內(nèi)置函數(shù)
- 數(shù)學(xué)
- 字符串
- 日期和時間
- 條件判斷
- 系統(tǒng)信息
- 加/解密
- 其他
- 用戶管理
- 登錄和退出
- 新建用戶
- 刪除用戶
- 修改用戶
- 找回ROOT密碼
- 權(quán)限管理
- 備份恢復(fù)
- 備份數(shù)據(jù)
- 恢復(fù)數(shù)據(jù)
- 日志
- 二進(jìn)制日志
- 錯誤日志
- 查詢?nèi)罩?/a>
- 慢查詢?nèi)罩?/a>
- 性能優(yōu)化
- 優(yōu)化查詢語句
- 優(yōu)化數(shù)據(jù)庫結(jié)構(gòu)
- 優(yōu)化服務(wù)器
- 主從復(fù)制
- WIN系統(tǒng)主從復(fù)制
- Linux單機(jī)主從復(fù)制
- Linux聯(lián)機(jī)主從復(fù)制
- 參數(shù)配置
- 日常管理和維護(hù)
- 切換主從服務(wù)器
- PHP操作
- 連接
- 創(chuàng)建數(shù)據(jù)庫
- 插入數(shù)據(jù)
- 插入多條數(shù)據(jù)
- 預(yù)處理語句
- 查詢數(shù)據(jù)
- 預(yù)處理語句
- 實(shí)戰(zhàn)應(yīng)用
- 分表
