资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
mysql 存储过程的创立,删除,调用及其他常用命令mysql 5.0 存储过程学习总结一.创立存储过程1. 根本语法:create procedure sp_name() beginend2. 参数传递二.调用存储过程1.根本语法:call sp_name()留意:存储过程名称后面必需加括号,哪怕该存储过程没有参数传递三.删除存储过程1.根本语法:drop procedure sp_name/ 2.留意事项(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程四.区块,条件,循环1.区块定义,常用beginend;也可以给区块起别名,如:lable:begin. end lable;可以用leave lable;跳出区块,执行区块以后的代码2.条件语句if 条件 then statement else statement end if;3.循环语句(1).while 循环label: WHILE expression DO statementsEND WHILE label ; (2).loop 循环label: LOOP statementsEND LOOP label; (3).repeat until 循环label: REPEAT statementsUNTIL expressionEND REPEAT label ;五.其他常用命令1. show procedure status显示数据库中全部存储的存储过程根本信息,包括所属数据库,存储过程名称,创立时间等2. show create procedure sp_name显示某一个存储过程的具体信息mysql 存储过程中要用到的运算符mysql 存储过程学习总结操作符算术运算符+加SETvar1=2+2;4-减SETvar2=3-2;1*乘SETvar3=3*2;6/除SETvar4=10/3;3.3333DIV整除SETvar5=10 DIV3;3%取模SETvar6=10%3 ;1比较运算符大于 12 False小于 21 False=小于等于 2=大于等于 3=2 TrueBETWEEN在两值之间 5 BETWEEN 1 AND 10 TrueNOT BETWEEN 不在两值之间 5 NOT BETWEEN 1 AND 10 FalseIN在集合中 5 IN (1,2,3,4) FalseNOT IN不在集合中 5 NOT IN (1,2,3,4) True=等于 2=3 False, !=不等于 23 False严格比较两个NULL 值是否相等 NULLNULL True LIKE简洁模式匹配 “Guy Harrison“ LIKE “Guy%“ True REGEXP正那么式匹配 “Guy Harrison“ REGEXP “Ggreg“ False IS NULL为空 0 IS NULL FalseIS NOT NULL 不为空 0 IS NOT NULL True规律运算符与(AND)AND TRUEFALSENULL TRUETRUEFALSENULL FALSEFALSEFALSENULL NULLNULLNULLNULL或(OR)OR TRUEFALSENULL TRUETRUETRUETRUE FALSETRUEFALSENULL NULLTRUENULLNULL异或(XOR)XOR TRUEFALSENULL TRUEFALSETRUENULL FALSETRUEFALSENULL NULLNULLNULLNULL位运算符|位或&位与 右移位位非(单目运算,按位取反)mysq 存储过程中常用的函数,字符串类型操作,数学类,日期时间类。mysql 存储过程根本函数一.字符串类CHARSET(str) /返回字串字符集CONCAT (string2 ,. ) /连接字串INSTR (string ,substring ) /返回 substring 首次在 string 中消灭的位置,不存在返回0LCASE (string2 ) /转换成小写LEFT (string2 ,length ) /从 string2 中的左边起取length 个字符LENGTH (string ) /string 长度LOAD_FILE (file_name ) /从文件读取内容LOCATE (substring , string ,start_position ) 同INSTR,但可指定开头位置LPAD (string2 ,length ,pad ) /重复用 pad 加在string 开头,直到字串长度为length LTRIM (string2 ) /去除前端空格REPEAT (string2 ,count ) /重复 count 次REPLACE (str ,search_str ,replace_str ) /在 str 中用replace_str 替换search_str RPAD (string2 ,length ,pad) /在 str 后用pad 补充,直到长度为lengthRTRIM (string2 ) /去除后端空格STRCMP (string1 ,string2 ) /逐字符比较两字串大小,SUBSTRING (str , position ,length ) /从 str 的 position 开头,取 length 个字符,注:mysql 中处理字符串时,默认第一个字符下标为1,即参数position 必需大于等于 1mysql select substring(abcd,0,2);+| substring(abcd,0,2) |+|+1 row in set (0.00 sec)mysql select substring(abcd,1,2);+| substring(abcd,1,2) |+| ab|+1 row in set (0.02 sec)TRIM(BOTH|LEADING|TRAILING padding FROMstring2) /去除指定位置的指定字符UCASE (string2 ) /转换成大写RIGHT(string2,length) /取 string2 最终length 个字符SPACE(count) /生成count 个空格二.数学类ABS (number2 ) /确定值BIN (decimal_number ) /十进制转二进制CEILING (number2 ) /向上取整CONV(number2,from_base,to_base) /进制转换FLOOR (number2 ) /向下取整FORMAT (number,decimal_places ) /保存小数位数HEX (DecimalNumber ) /转十六进制注:HEX()中可传入字符串,那么返回其ASC-11 码,如HEX(DEF)返回 4142143也可以传入十进制整数,返回其十六进制编码,如HEX(25)返回 19 LEAST (number , number2 ,.) /求最小值MOD (numerator ,denominator ) /求余POWER (number ,power ) /求指数RAND(seed) /随机数ROUND (number ,decimals ) /四舍五入,decimals 为小数位数注:返回类型并非均为整数,如:(1) 默认变为整形值mysql select round(1.23);+-+| round(1.23) |+-+|1 |+-+1 row in set (0.00 sec)mysql select round(1.56);+-+| round(1.56) |+-+|2 |+-+1 row in set (0.00 sec)(2) 可以设定小数位数,返回浮点型数据mysql select round(1.567,2);+-+| round(1.567,2) |+-+|1.57 |+-+1 row in set (0.00 sec)SIGN (number2 ) /返回符号,正负或 0 SQRT(number2) /开平方三.日期时间类ADDTIME (date2 ,time_interval ) /将 time_interval 加到 date2 CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) /转换时区 CURRENT_DATE ( ) /当前日期CURRENT_TIME ( ) /当前时间CURRENT_TIMESTAMP ( ) /当前时间戳DATE (datetime ) /返回datetime 的日期局部DATE_ADD (date2 , INTERVAL d_value d_type ) /在 date2 中加上日期或时间DATE_FORMAT (datetime ,FormatCodes ) /使用 formatcodes 格式显示datetimeDATE_SUB (date2 , INTERVAL d_value d_type ) /在 date2 上减去一个时间DATEDIFF (date1 ,date2 ) /两个日期差DAY (date ) /返回日期的天DAYNAME (date ) /英文星期DAYOFWEEK (date ) /星期(1-7) ,1 为星期天DAYOFYEAR (date ) /一年中的第几天EXTRACT (interval_name FROM date ) /从 date 中提取日期的指定局部MAKEDATE (year ,day ) /给出年及年中的第几天,生成日期串MAKETIME (hour ,minute ,second ) /生成时间串MONTHNAME (date ) /英文月份名NOW ( ) /当前时间SEC_TO_TIME (seconds ) /秒数转成时间STR_TO_DATE (string ,format ) /字串转成时间,以 format 格式显示TIMEDIFF (datetime1 ,datetime2 ) /两个时间差TIME_TO_SEC (time ) /时间转秒数WEEK (date_time ,start_of_week )
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号