MySQL資料庫高階SQL語句之MySQL儲存過程

2021-10-24 20:28:11 字數 1790 閱讀 2001

create procedure《過程名》

([過程引數[…..]]

)《過程體》

[過程引數[.-..

]]格式

in| out|lnoutj引數名》

《型別》

mysql> delimiter $$  #將語句的結束符號從分號;臨時改為兩個$$(可以是自定義)

mysql> create procedure delete_matches(in p_playerno integer)

-> begin

->   delete from matches

-> where playerno = p_playerno;

-> end$$

query ok, 0 rows affected (0.01 sec)

mysql> delimiter;

#將語句的結束符號恢復為分號

定義儲存過程

delimiter $$

create procedure儲存過程名(in 引數名引數型別)

begin

定義變數

declare變數名變數型別

#變數賦值

set變數名=值

sql語句1;

sql語句2;

…sql語句n;

end$

delimiter;

呼叫儲存過程

call儲存過程名(實際引數)

;

查詢儲存過程

show procedure status where db=

'資料庫'

;

刪除儲存過程

drop procedure儲存過程名;
示例:

mysql> delimiter $$     #將語句的結束符從分號開始;臨時改為兩個$$

mysql> create procedure proc(

) -> begin

->

select name,score from info;

-> end$$

query ok, 0 rows affected (0.01 sec)

mysql> delimiter ;

#將語句的結束符恢復為分號

語法結構:

drop procedure + 儲存過程的名字

mysql> drop procedure proc;

query ok, 0 rows affected (0.00 sec)

mysql> call proc();

+----------+-------+

| name | score |

+----------+-------+

| zhangsan | 88.00 |

| lisi | 77.00 |

| wangwu | 90.00 |

| tianqi | 66.00 |

| zhaoliu | 81.00 |

+----------+-------+

5 rows in

set(0.00 sec)

query ok, 0 rows affected (0.00 sec)

資料庫 Mysql 語句高階

數值型別 日期和時間型別 字串型別 列印當前的日期 select curdate 列印當前的資料庫 select database 列印 mysql 版本 select version 列印當前使用者 select user 顯示變數 show variables 顯示全域性變數 預設的儲存引擎 檢...

mysql資料庫常用SQL語句

1.給資料庫新增乙個字段 alter table pre common member field home 表名 add stickblogs 欄位名 varchar 50 資料型別 2.刪除資料庫的乙個字段 alter table param info 表名 drop column channel...

MySQL資料庫SQL語句小結

資料庫指的是檔案的集合,操作這個集合需要用到sql語句,sql語句是由socket連線的。一,啟動資料庫 linux下啟動伺服器程序 進入管理員身份,執行 service mysqld start,然後執行 mysql u root p,如果有密碼的話則輸入密碼,無密碼就直接enter。由上圖資訊可...