mysql 存储过程写法
来源:互联网 发布:mac画图软件xmind下载 编辑:程序博客网 时间:2024/05/12 10:43
一.创建存储过程
begin
………
end
2.参数传递
二.调用存储过程
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
三.删除存储过程
drop procedure sp_name//
2.注意事项
(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
四.区块,条件,循环
begin
……
end;
也可以给区块起别名,如:
lable:begin
………..
end lable;
可以用leave lable;跳出区块,执行区块以后的代码
2.条件语句
statement
else
statement
end
3.循环语句
(1).while循环
statements
statements
statements
UNTIL
五.其他常用命令
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name
显示某一个存储过程的详细信息
mysql存储过程中要用到的运算符
mysql存储过程学习总结-操作符
算术运算符
+
-
*
/
DIV
%
比较运算符
<
<=
>=
BETWEEN
NOT BETWEEN
IN
NOT IN
=
<>, !=
<=>
LIKE
REGEXP
IS NULL
IS NOT NULL
逻辑运算符
与(AND)
AND
TRUE
FALSE
NULL
TRUE
TRUE
FALSE
NULL
FALSE
FALSE
FALSE
NULL
NULL
NULL
NULL
NULL
或(OR)
OR
TRUE
FALSE
NULL
TRUE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
NULL
NULL
TRUE
NULL
NULL
异或(XOR)
XOR
TRUE
FALSE
NULL
TRUE
FALSE
TRUE
NULL
FALSE
TRUE
FALSE
NULL
NULL
NULL
NULL
NULL
位运算符
|
&
<<
>>
~
mysq存储过程中常用的函数,字符串类型操作,数学类,日期时间类。
mysql存储过程基本函数
一.字符串类
CONCAT (string2
INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0
LCASE (string2 ) //转换成小写
LEFT (string2 ,length ) //从string2中的左边起取length个字符
LENGTH (string ) //string长度
LOAD_FILE (file_name ) //从文件读取内容
LOCATE (substring , string
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补充,直到长度为length
RTRIM (string2 ) //去除后端空格
STRCMP (string1 ,string2 ) //逐字符比较两字串大小,
SUBSTRING (str , position
注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1
+———————–+
| substring(’abcd’,0,2) |
+———————–+
|
+———————–+
1 row in set (0.00 sec)
+———————–+
| substring(’abcd’,1,2) |
+———————–+
| ab
+———————–+
1 row in set (0.02 sec)
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符
UCASE (string2 ) //转换成大写
RIGHT(string2,length) //取string2最后length个字符
SPACE(count) //生成count个空格
二.数学类
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
(1)默认变为整形值
mysql> select round(1.23);
+————-+
| round(1.23) |
+————-+
|
+————-+
1 row in set (0.00 sec)
mysql> select round(1.56);
+————-+
| round(1.56) |
+————-+
|
+————-+
1 row in set (0.00 sec)
(2)可以设定小数位数,返回浮点型数据
mysql> select round(1.567,2);
+—————-+
| round(1.567,2) |
+—————-+
|
+—————-+
1 row in set (0.00 sec)
SIGN (number2 ) //返回符号,正负或0
SQRT(number2) //开平方
三.日期时间类
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格式显示datetime
DATE_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
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 ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分
DAY ,DAY_HOUR ,DAY_MINUTE ,DAY_SECOND ,HOUR ,HOUR_MINUTE ,HOUR_SECOND ,MINUTE ,MINUTE
- mysql 存储过程写法
- mysql 存储过程写法
- mysql 存储过程的写法
- mysql存储过程的写法
- MySQL存储过程写法总结
- mysql 存储过程写法(转)
- mysql 存储过程写法(转)
- mySql数据库存储过程打印参数写法
- 存储过程写法
- 存储过程的写法
- 存储过程写法
- IBATIS 存储过程写法
- oracle存储过程写法
- 存储过程写法
- MySQL 的存储过程写法和Cursor的使用
- MySQL 的存储过程写法和Cursor的使用
- mysql存储过程写法—动态参数运用
- mysql 存储过程加事务的简单写法
- linux下nginx的url访问不区分大小写
- eclipse安装maven插件开发WEB项目,解决错误:Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom
- Windows下载Android源码
- JSP && EL
- Ant taskdef class net.sf.antcontrib.logic.ForEach cannot be found
- mysql 存储过程写法
- linux patch命令参数及用法详解---linux打补丁命令
- 自定义Button点击效果
- nsrunloop
- 为什么我们程序员难晋升
- Eclipse启动:Failed to create java virtual machine
- VBS:SQL记录查询、更新、删除
- inotify -- Linux 2.6 内核中的文件系统变化通知机制
- 打印出所有可能的括号组合