新聞中心
這篇文章給大家分享的是有關(guān)mysql數(shù)據(jù)庫中的存儲(chǔ)過程是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
mysql存儲(chǔ)過程是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL 語句集,存儲(chǔ)在數(shù)據(jù)庫中,經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)來執(zhí)行它。
mysql存儲(chǔ)過程是:
1、什么是存儲(chǔ)過程
存儲(chǔ)過程(Stored Procedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL 語句集,存儲(chǔ)在數(shù)據(jù)庫中,經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是數(shù)據(jù)庫中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲(chǔ)過程。
2、創(chuàng)建存儲(chǔ)過程
格式:
DELIMITER $$ CREATE PROCEDURE `ProcedureName`(paramName paramType) BEGIN END$$ DELIMITER ;
紅色字體解釋:
ProcedureName:你要?jiǎng)?chuàng)建的存儲(chǔ)過程名稱
paramName:參數(shù)名稱
paramType:參數(shù)類型
注:
(1) 存儲(chǔ)過程是否需要參數(shù)根據(jù)實(shí)際情況而定(括號(hào)內(nèi)容可不填);
(2) MySQL從5.0開始支持存儲(chǔ)過程;
(3) DELIMITER 和 DELIMITER ; 是分隔符的意思,它們的作用就是讓編譯器知道它們里面的內(nèi)容是存儲(chǔ)過程的,如果不寫這兩部分,則編譯器會(huì)將這段代碼當(dāng)作普通的SQL執(zhí)行;
(4) BEGIN 和 END 之間就是存儲(chǔ)過程的內(nèi)容,我們的SQL都是在這中間編寫;
3、存儲(chǔ)過程的優(yōu)缺點(diǎn)
(1) 執(zhí)行速度快。由于存儲(chǔ)過程已經(jīng)預(yù)編譯了,使用的時(shí)候直接跳過編譯部分,所以執(zhí)行速度會(huì)變快;
(2) 減少網(wǎng)絡(luò)流量。使用存儲(chǔ)過程的時(shí)候只需要調(diào)用存儲(chǔ)過程的方法即可,相對(duì)于SQL語句存儲(chǔ)過程的方法名更短,網(wǎng)絡(luò)傳輸調(diào)用存儲(chǔ)過程的語句,減少了網(wǎng)絡(luò)流量;
(3) 復(fù)用性。一次創(chuàng)建,滿足需求的情況下可以隨便使用;
感謝各位的閱讀!關(guān)于mysql數(shù)據(jù)庫中的存儲(chǔ)過程是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
文章題目:mysql數(shù)據(jù)庫中的存儲(chǔ)過程是什么-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://fisionsoft.com.cn/article/cscdjd.html