亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

存儲mysql數據庫的詳細過程

發布時間:2020-05-13 15:19:39 來源:億速云 閱讀:233 作者:三月 欄目:數據庫

下面一起來了解下存儲mysql數據庫的詳細過程,相信大家看完肯定會受益匪淺,文字在精不在多,希望存儲mysql數據庫的詳細過程這篇短內容是你想要的。

存儲過程簡介

存儲過程可以簡單理解為一條或者多條sql語句的集合,存儲過程用來實現將一組關于表的操作的sql語句當作一個整體來執行,存儲過程在實際應用中最主要的特點的事提高執行效率以及sql代碼封裝功能,特別是sql代碼封裝功能,如果沒有存儲過程,在外部程序訪問數據庫時(例如php),要組織很多sql語句,特別是業務邏輯比較復雜的時候,一大堆的sql和條件夾在php代碼中,讓人不寒而栗,有了sql存儲過程,業務邏輯可以封裝存儲過程,這樣不僅容易維護,而且執行效率也高。

例如:在電子商務站點中使用存儲過程來實現商品訂單處理

存儲過程如何一門程序設計語言,同樣包含了數據類型,流程控制,輸入和輸出和它自己的函數庫

創建存儲過程

基本語法

Create procedure sp_nane()  函數里面可以有參數也可以沒有

Begin

---------  //代碼體

End

Call  sp_nane() 存儲過程名  //調用存儲過程 

實例mysql>use mysql

Mysql>Delimiter $$ //定義分隔符

Mysql>Create procedure sp_nane()  函數里面可以有參數也可以沒有

Begin

Select user from user;

End$$

Mysql>Delimiter;

查看存儲過程

方法一show procedure status

實例:show procedure status \G 

方法二查看系統表information_schema.routines

實例:select * from information_schema.routines\G

方法三通過show crerate procedure語句查看存儲過程定義信息

實例:show crerate procedure proce_user\G

刪除存儲過程

Drop procedure 存儲過程名字  刪的時候不要加().

實例:drop procedure proce_param_inout;

流程控制核心中核心

順序

分支

循環

循環控制

WHILE ---DO--END WHILE  //先判斷再執行

實例:

Mysql>Delimiter $$ //定義分隔符

Mysql>create table t1(id int);

Mysql>Create procedure proce_while()  函數里面可以有參數也可以沒有

Begin

Declare i int;  //定義變量

Set i=1;  //將變量做了一個初始化,如果不做初始化,將為null

While i<5 do

Insert into t1 values(i);

Set i=i+1;

End while;

End$$

Mysql>Delimiter;

 存儲mysql數據庫的詳細過程

Pepeat---until end pepeat  先執行再判斷

實例:

Mysql>Delimiter $$ //定義分隔符

Mysql>Create procedure proce_repeat()  函數里面可以有參數也可以沒有

Begin

Declare i int default 1;  //定義變量,初始化

repeat  

Insert into t1 values(i);

Set i=i+1;

Until i>=6

End repeat;

End$$

Mysql>Delimiter; 

Loop--end loop

實例:

Mysql>Delimiter $$ //定義分隔符

Mysql>Create procedure proce_loop()  函數里面可以有參數也可以沒有

Begin

Declare i int default 1;  //定義變量,初始化

Loop_label:loop   //定義一個標號,跟標簽一樣

Insert into t1 values(i);

Set i=i+1;

If  i>=6 then

Leave loop_label;  

End if;

End loop;

End$$

Mysql>Delimiter; 

輸入輸出類型

1)In  往存儲過程里面傳參,存儲過程內部會改變數值,調用者是不會看到的

實例:

Mysql>Delimiter $$ //定義分隔符

Mysql>Create procedure proce_param_in(in id int) //用in傳值傳的是id字段,int類型的

Begin

If (id is null) then  //如果id變量是空值

Select ‘id is null’  as id_null;  

Else

Set i=i+1;

End if;

Select id as id_inside; //打印一下id的值

End$$

Mysql>Delimiter;

2)Out存儲過程內部傳值給調用者,不接受外部傳值的

實例:

Mysql>Delimiter $$ //定義分隔符

Mysql>Create procedure proce_param_out(out id int) //用out傳值傳的是id字段,int類型的

Begin

Select id  as id_inside_1;  //id初始值為null

If (id is not null) then  //如果id變量不是空值

Set id=id+1;

Select id as id_inside_2; //打印一下id的值

Else

Select 100 into id;  //把100輸入到id

End if;

Select id as id_inside_3;

End$$

Mysql>Delimiter;

3)inout 可以接受調用者的傳值,而且還會把最后改變的結果返回給調用者

實例:

Mysql>Delimiter $$ //定義分隔符

Mysql>Create procedure proce_param_inout(inout id int) //用out傳值傳的是id字段,int類型的

Begin

Select id  as id_inside_1;  //id值為調用者傳進來的值

If (id is not null) then  //如果id變量不是空值

Set id=id+1;

Select id as id_inside_2; //打印一下id的值

Else

Select 100 into id;  //把100輸入到id

End if;

Select id as id_inside_3;

End$$

Mysql>Delimiter;

 看完存儲mysql數據庫的詳細過程這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合江县| 南陵县| 南召县| 华坪县| 丹巴县| 紫金县| 信丰县| 石楼县| 且末县| 年辖:市辖区| 乌鲁木齐县| 双江| 南昌市| 西贡区| 洛阳市| 宜川县| 唐海县| 新干县| 汉寿县| 澄城县| 宜兰县| 辽宁省| 东港市| 安徽省| 杭州市| 南通市| 治多县| 密山市| 方正县| 诏安县| 利津县| 长海县| 保定市| 临夏县| 罗田县| 汶上县| 松原市| 阿瓦提县| 亚东县| 顺昌县| 沿河|