真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql存儲(chǔ)過程有哪些使用技巧

MySQL存儲(chǔ)過程有哪些使用技巧?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

目前成都創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、嘉善網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

mysql存儲(chǔ)過程使用技巧有:1、創(chuàng)建帶in模式參數(shù)的存儲(chǔ)過程;2、創(chuàng)建out模式參數(shù)的存儲(chǔ)過程;3、創(chuàng)建帶inout模式參數(shù)的存儲(chǔ)過程。

mysql存儲(chǔ)過程使用技巧有:

定義

一組預(yù)先編譯好的SQL語句的集合,理解成批處理語句,類似于java中的方法

1、提高代碼的重用性

2、簡化操作

3、減少了編譯次數(shù)并且減少了和數(shù)據(jù)庫服務(wù)器的連接次數(shù),提高了效率

創(chuàng)建語法

CREATE PROCEDURE 存儲(chǔ)過程名(參數(shù)列表)
BEGIN
存儲(chǔ)過程體(一組合法的SQL語句)
END

參數(shù)列表包含三部分

參數(shù)模式 參數(shù)名 參數(shù)類型

舉例:

in stuname varchar(20)

參數(shù)模式:

  • in:該參數(shù)可以作為輸入,也就是該參數(shù)需要調(diào)用方傳入值

  • out:該參數(shù)可以作為輸出,也就是該參數(shù)可以作為返回值

  • inout:該參數(shù)既可以作為輸入又可以作為輸出,也就是該參數(shù)既需要傳入值,又可以返回值

  • 如果存儲(chǔ)過程體僅僅只有一句話,begin end可以省略

  • 存儲(chǔ)過程體中的每條sql語句的結(jié)尾要求必須加分號(hào)。

  • 存儲(chǔ)過程的結(jié)尾可以使用 delimiter 重新設(shè)置

語法:

delimiter 結(jié)束標(biāo)記

案例:

delimiter $

調(diào)用語法

CALL 存儲(chǔ)過程名(實(shí)參列表);

空參列表

插入到admin表中五條記錄

SELECT * FROM admin;
DELIMITER $
CREATE PROCEDURE myp1()
BEGIN
INSERT INTO admin(username,`password`) 
VALUES('john1','0000'),('lily','0000'),('rose','0000'),('jack','0000'),('tom','0000');
END $
#調(diào)用
CALL myp1()$

創(chuàng)建帶in模式參數(shù)的存儲(chǔ)過程

創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn) 根據(jù)女神名,查詢對(duì)應(yīng)的男神信息
CREATE PROCEDURE myp2(IN beautyName VARCHAR(20))
BEGIN
SELECT bo.*
FROM boys bo
RIGHT JOIN beauty b ON bo.id = b.boyfriend_id
WHERE b.name=beautyName;
END $
#調(diào)用
CALL myp2('柳巖')$

創(chuàng)建存儲(chǔ)過程實(shí)現(xiàn),用戶是否登錄成功

CREATE PROCEDURE myp4(IN username VARCHAR(20),IN PASSWORD VARCHAR(20))
BEGIN
DECLARE result INT DEFAULT 0;#聲明并初始化
SELECT COUNT(*) INTO result#賦值
FROM admin
WHERE admin.username = username
AND admin.password = PASSWORD;
SELECT IF(result>0,'成功','失敗');#使用
END $
#調(diào)用
CALL myp3('張飛','8888')$

創(chuàng)建out 模式參數(shù)的存儲(chǔ)過程

根據(jù)輸入的女神名,返回對(duì)應(yīng)的男神名

CREATE PROCEDURE myp6(IN beautyName VARCHAR(20),OUT boyName VARCHAR(20))
BEGIN
SELECT bo.boyname INTO boyname
FROM boys bo
RIGHT JOIN
beauty b ON b.boyfriend_id = bo.id
WHERE b.name=beautyName ;
END $

根據(jù)輸入的女神名,返回對(duì)應(yīng)的男神名和魅力值

CREATE PROCEDURE myp7(IN beautyName VARCHAR(20),OUT boyName VARCHAR(20),OUT usercp INT) 
BEGIN
SELECT boys.boyname ,boys.usercp INTO boyname,usercp
FROM boys 
RIGHT JOIN
beauty b ON b.boyfriend_id = boys.id
WHERE b.name=beautyName ;
END $
#調(diào)用
CALL myp7('小昭',@name,@cp)$
SELECT @name,@cp$

創(chuàng)建帶inout模式參數(shù)的存儲(chǔ)過程

傳入a和b兩個(gè)值,最終a和b都翻倍并返回

CREATE PROCEDURE myp8(INOUT a INT ,INOUT b INT)
BEGIN
SET a=a*2;
SET b=b*2;
END $
#調(diào)用
SET @m=10$
SET @n=20$
CALL myp8(@m,@n)$
SELECT @m,@n$

刪除存儲(chǔ)過程

drop procedure 存儲(chǔ)過程名
DROP PROCEDURE p1;
DROP PROCEDURE p2,p3;#×

查看存儲(chǔ)過程的信息

DESC myp2;
SHOW CREATE PROCEDURE  myp2;

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)mysql存儲(chǔ)過程有哪些使用技巧大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文題目:mysql存儲(chǔ)過程有哪些使用技巧
文章轉(zhuǎn)載:http://weahome.cn/article/jhphoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部