资源描述:
《存储过程基本语法sql存储过程入门》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、--------------------基本语法--------------------一.创建存储过程createproceduresp_name()begin.........end二.调用存储过程1.基本语法:callsp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递三.删除存储过程1.基本语法:dropproceduresp_name//2.注意事项(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程四.其他常用命令1.showprocedurestatus显示
2、数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等2.showcreateproceduresp_name显示某一个mysql存储过程的详细信息--------------------数据类型及运算符--------------------一、基本数据类型:略二、变量:自定义变量:DECLAREaINT;SETa=100;可用以下语句代替:DECLAREaINTDEFAULT100;变量分为用户变量和系统变量,系统变量又分为会话和全局级变量用户变量:用户变量名一般以@开头,滥用用户变量会
3、导致程序难以理解及管理1、在mysql客户端使用用户变量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、在存储过程中使用用户变量mysql>CREATEPROCEDUREGreetWorld()SELECTCONCAT(@greeting,'World');mysql>SET@greeting='Hello'
4、;mysql>CALLGreetWorld();3、在存储过程间传递全局范围的用户变量mysql>CREATEPROCEDUREp1()SET@last_procedure='p1';mysql>CREATEPROCEDUREp2()SELECTCONCAT('Lastprocedurewas',@last_procedure);mysql>CALLp1();mysql>CALLp2();三、运算符:1.算术运算符+加SETvar1=2+2;4-减SETvar2=3-2;1*乘SETvar3=3*2;6/除SET
5、var4=10/3;3.3333DIV整除SETvar5=10DIV3;3%取模SETvar6=10%3;12.比较运算符>大于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
6、<=>严格比较两个NULL值是否相等NULL<=>NULLTrueLIKE简单模式匹配"GuyHarrison"LIKE"Guy%"TrueREGEXP正则式匹配"GuyHarrison"REGEXP"[Gg]reg"FalseISNULL为空0ISNULLFalseISNOTNULL不为空0ISNOTNULLTrue3.逻辑运算符4.位运算符
7、或&与<<左移位>>右移位~非(单目运算,按位取反)注释:mysql存储过程可使用两种风格的注释双横杠:--该风格一般用于单行注释c风格:/*注释内容*/一般用于多行注释
8、--------------------流程控制--------------------一、顺序结构二、分支结构ifcase三、循环结构for循环while循环loop循环repeatuntil循环注:区块定义,常用begin......end;也可以给区块起别名,如:lable:begin...........endlable;可以用leavelable;跳出区块,执行区块以后的代码begin和end如同C语言中的{和}。--------------------输入和输出--------------------
9、mysql存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUTCreateprocedure
10、function([[IN
11、OUT
12、INOUT]参数名数据类形...])IN输入参数表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值OUT输出参数该值可在存储过程内部被改变,并可返回INOUT输入输出参数调用时指定,并