資源描述:
《存儲(chǔ)過程基本語法sql存儲(chǔ)過程入門.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、--------------------基本語法--------------------一.創(chuàng)建存儲(chǔ)過程createproceduresp_name()begin.........end二.調(diào)用存儲(chǔ)過程1.基本語法:callsp_name()注意:存儲(chǔ)過程名稱后面必須加括號(hào),哪怕該存儲(chǔ)過程沒有參數(shù)傳遞三.刪除存儲(chǔ)過程1.基本語法:dropproceduresp_name//2.注意事項(xiàng)(1)不能在一個(gè)存儲(chǔ)過程中刪除另一個(gè)存儲(chǔ)過程,只能調(diào)用另一個(gè)存儲(chǔ)過程四.其他常用命令1.showprocedurestatus顯示數(shù)據(jù)庫中所有存儲(chǔ)的存儲(chǔ)過
2、程基本信息,包括所屬數(shù)據(jù)庫,存儲(chǔ)過程名稱,創(chuàng)建時(shí)間等2.showcreateproceduresp_name顯示某一個(gè)mysql存儲(chǔ)過程的詳細(xì)信息--------------------數(shù)據(jù)類型及運(yùn)算符--------------------一、基本數(shù)據(jù)類型:略二、變量:自定義變量:DECLAREaINT;SETa=100;可用以下語句代替:DECLAREaINTDEFAULT100;變量分為用戶變量和系統(tǒng)變量,系統(tǒng)變量又分為會(huì)話和全局級(jí)變量用戶變量:用戶變量名一般以@開頭,濫用用戶變量會(huì)導(dǎo)致程序難以理解及管理1、在mysql客戶端使用
3、用戶變量mysql>SELECT'HelloWorld'into@x;mysql>SELECT@x;mysql>SET@y='GoodbyeCruelWorld';mysql>select@y;mysql>SET@z=1+2+3;mysql>select@z;2、在存儲(chǔ)過程中使用用戶變量mysql>CREATEPROCEDUREGreetWorld()SELECTCONCAT(@greeting,'World');mysql>SET@greeting='Hello';mysql>CALLGreetWorld();3、在存儲(chǔ)過程間傳遞全局
4、范圍的用戶變量mysql>CREATEPROCEDUREp1()SET@last_procedure='p1';mysql>CREATEPROCEDUREp2()SELECTCONCAT('Lastprocedurewas',@last_procedure);mysql>CALLp1();mysql>CALLp2();三、運(yùn)算符:1.算術(shù)運(yùn)算符+加SETvar1=2+2;4-減SETvar2=3-2;1*乘SETvar3=3*2;6/除SETvar4=10/3;3.3333DIV整除SETvar5=10DIV3;3%取模SETvar6=
5、10%3;12.比較運(yùn)算符>大于1>2False<小于2<1False<=小于等于2<=2True>=大于等于3>=2TrueBETWEEN在兩值之間5BETWEEN1AND10TrueNOTBETWEEN不在兩值之間5NOTBETWEEN1AND10FalseIN在集合中5IN(1,2,3,4)FalseNOTIN不在集合中5NOTIN(1,2,3,4)True=等于2=3False<>,!=不等于2<>3False<=>嚴(yán)格比較兩個(gè)NULL值是否相等NULL<=>NULLTrueLIKE簡單模式匹配"GuyHarrison"LIKE
6、"Guy%"TrueREGEXP正則式匹配"GuyHarrison"REGEXP"[Gg]reg"FalseISNULL為空0ISNULLFalseISNOTNULL不為空0ISNOTNULLTrue3.邏輯運(yùn)算符4.位運(yùn)算符
7、或&與<<左移位>>右移位~非(單目運(yùn)算,按位取反)注釋:mysql存儲(chǔ)過程可使用兩種風(fēng)格的注釋雙橫杠:--該風(fēng)格一般用于單行注釋c風(fēng)格:/*注釋內(nèi)容*/一般用于多行注釋--------------------流程控制--------------------一、順序結(jié)構(gòu)二、分支結(jié)構(gòu)ifcase三、循環(huán)結(jié)構(gòu)for循
8、環(huán)while循環(huán)loop循環(huán)repeatuntil循環(huán)注:區(qū)塊定義,常用begin......end;也可以給區(qū)塊起別名,如:lable:begin...........endlable;可以用leavelable;跳出區(qū)塊,執(zhí)行區(qū)塊以后的代碼begin和end如同C語言中的{和}。--------------------輸入和輸出--------------------mysql存儲(chǔ)過程的參數(shù)用在存儲(chǔ)過程的定義,共有三種參數(shù)類型,IN,OUT,INOUTCreateprocedure
9、function([[IN
10、OUT
11、INOUT]參
12、數(shù)名數(shù)據(jù)類形...])IN輸入?yún)?shù)表示該參數(shù)的值必須在調(diào)用存儲(chǔ)過程時(shí)指定,在存儲(chǔ)過程中修改該參數(shù)的值不能被返回,為默認(rèn)值OUT輸出參數(shù)該值可在存儲(chǔ)過程內(nèi)部被改變,并可返回INOUT輸入輸出參數(shù)調(diào)用時(shí)指定,并