http://www.ccvita.com/100.html
mysql存储过程的创建,删除,调用及其他常用命令
一.创建存储过程
2.参数传递
二.调用存储过程
三.删除存储过程
四.区块,条件,循环
3.循环语句
(1).while循环
五.其他常用命令
mysql存储过程中要用到的运算符
算术运算符
+ 加 SET var1=2+2; 4
- 减 SET var2=3-2; 1
* 乘 SET var3=3*2; 6
/ 除 SET var4=10/3; 3.3333
DIV 整除 SET var5=10 DIV 3; 3
% 取模 SET var6=10%3 ; 1
比较运算符
逻辑运算符
与 (AND)
<!-- @page { size: 8.5in 11in; margin: 0.79in } TD P { margin-bottom: 0in } TH P { margin-bottom: 0in; font-style: italic } P { margin-bottom: 0.08in } -->
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存储过程中常用的函数,字符串类型操作,数学类,日期时间类。
一.字符串类
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符
UCASE (string2 ) //转换成大写
RIGHT(string2,length) //取string2最后length个字符
SPACE(count) //生成count个空格
二.数学类
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) //开平方
三.日期时间类
可支持的SQL声明
虽然MySQL不能支持存储程序,但它却可以完成很多任务,如表A 所示。除此之外,MySQL的stored procedure documentation(存储过程文档)描述了可用于Oracle的PL/SQL和SQL Server的 T-SQL的很多兼容特性。我对存储过程支持的印象是,它执行比较缓慢,目的是避免任何影响大型软件 开发工程的步骤。
表A
声明
描述
CREATE PROCEDURE
建立一个存放在MySQL数据库的表格的存储过程。
CREATE FUNCTION
建立一个用户自定义的函数,尤其是返回数据的存储过程。
ALTER PROCEDURE
更改用CREATE PROCEDURE 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。.
ALTER FUNCTION
更改用CREATE FUNCTION 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。.
DROP PROCEDURE
从MySQL的表格中删除一个或多个存储过程。
DROP FUNCTION
从MySQL的表格中删除一个或多个存储函数。
SHOW CREATE PROCEDURE
返回使用CREATE PROCEDURE 建立的预先指定的存储过程的文本。这一声明是SQL:2003规范的一个MySQL扩展。
SHOW CREATE FUNCTION
返回使用CREATE FUNCTION建立的预先指定的存储过程的文本。这一声明是SQL:2003规范的一个MySQL扩展。
SHOW PROCEDURE STATUS
返回一个预先指定的存储过程的特性,包括名称、类型、建立者、建立日期、以及更改日期。这一声明是SQL:2003规范的一个MySQL扩展。
SHOW FUNCTION STATUS
返回一个预先指定的存储函数的特性,包括名称、类型、建立者、建立日期、以及更改日期。这一声明是SQL:2003规范的一个MySQL扩展。
CALL
调用一个使用CREATE PROCEDURE建立的预先指定的存储过程。
BEGIN ... END
包含一组执行的多声明。
DECLARE
用于指定当地变量、环境、处理器,以及指针。
SET
用于更改当地和全局服务器变量的值。
SELECT ... INTO
用于存储显示变量的纵列。
OPEN
用于打开一个指针。
FETCH
使用特定指针来获得下一列。
CLOSE
用于关闭和打开指针。
IF
一个An if-then-else-end if 声明。
CASE ... WHEN
一个 case声明的结构
LOOP
一个简单的循环结构;可以使用LEAVE 语句来退出。
LEAVE
用于退出IF,CASE,LOOP,REPEAT以及WHILE 语句。
ITERATE
用于重新开始循环。
REPEAT
在结束时测试的循环。
WHILE
在开始时测试的循环。
RETURNS
返回一个存储过程的值。
[/size][/b]
MySQL 5.0支持存储过程语句。