`
softWindy
  • 浏览: 15596 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

存储过程学习总结

阅读更多
存储过程学习总结
1、存储过程基本语法:
create procedure sp_name()
begin
......
end;

2、如何调用:
call sp_name();

3、删除存储过程:只能在一个存储过程中调用另外一个存储过程,不能删除
drop procedure sp_name;

4、区块,可以给区块取名
begin
......
end;

lable begin
......
end lable;

5、if循环
if 条件 then
......
else
......
end if;

6、三种循环
(1)while循环
while 条件 do
......
end while;
(2)loop循环
CREATE PROCEDURE myProc()
BEGIN
     DECLARE i int;
     SET i=0;
     loop1: LOOP
          SET i=i+1;
          IF i>=10 THEN         
               LEAVE loop1;
          ELSEIF MOD(i,2)=0 THEN
               ITERATE loop1;
          END IF;
          SELECT CONCAT(i," is an odd number");
  END LOOP loop1;
END;
(3)repeat util循环
repeat
......
util 条件
end repeat;

7、常用命令
a、show procedure status; -- 显示所有存储过程详细信息
b、show create procedure sp_name; --显示指定名称存储过程的详细信息
c、leave loop_name; --跳出loop循环
d、iterate loop_name; --循环loop循环


8、基本函数
(1)、字符串类
(注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1)
CHARSET(str) //返回字符编码
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  [,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补充,直到长度为length
RTRIM (string2 ) //去除后端空格
STRCMP (string1 ,string2 ) //逐字符比较两字串大小,
SUBSTRING (str , position  [,length ]) //从str的position开始,取length个字符
(2)、数学类
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为小数位数]
(3)、日期时间类
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格式显示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  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 ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分
5
12
分享到:
评论
6 楼 summer_021 2011-08-04  
DBA女女?
5 楼 ganjp 2011-06-29  
我晕  这怎么在首页上啊
4 楼 softWindy 2011-06-28  
谢谢前辈的指点,我会努力钻研滴!
3 楼 yaya_wiscom 2011-06-28  
写的太简单了!
2 楼 softWindy 2011-06-28  
哈哈,这怪谁啊????
这可不是运气哦!
1 楼 silencexiekai 2011-06-27  
太BH了,你发表一篇文章访问量就这么高,我辛辛苦苦写一篇,就那几个人,这也太不公平了吧!

相关推荐

    oracle 存储过程学习总结

    Oracle存储过程学习总结涵盖了Oracle中存储过程的编写与应用,涉及到字符串处理、游标使用、PL/SQL编程等方面的知识点。 首先,字符串处理是存储过程中常见的操作。文章中提到了多个内置函数,如CONCAT用于连接字符...

    mysql 5_0存储过程学习总结

    mysql 5_0存储过程学习总结 mysql 5_0存储过程学习总结

    SQL 存储过程学习总结.docx

    SQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集合,它们被预先编译并存储在数据库中,可以通过一个名称来调用执行。在SQL中,存储过程扮演着类似高级编程语言中函数的角色,它允许我们封装一系列...

    SQL存储过程学习总结归类.pdf

    SQL存储过程是数据库管理系统中预编译的SQL语句集合,它们可以视为数据库中的函数,用于执行特定的管理任务或实现复杂的业务逻辑。存储过程能够提高应用程序的效率,因为它们在首次编译后会被缓存,从而减少了解析和...

    mysql5.0存储过程学习总结资料.pdf

    MySQL 5.0 存储过程是数据库管理系统中一种强大的功能,它允许用户编写一系列的SQL语句并封装成一个可重用的程序单元。在本文中,我们将深入探讨存储过程的基本概念、创建、调用、删除以及一些关键特性。 **一、...

    存储过程学习1

    ### 存储过程学习1:Oracle中的存储过程基础与示例 #### 一、存储过程简介 存储过程是在数据库中预编译好的SQL语句集合,它可以接受输入参数并返回输出值。存储过程的主要优点包括提高性能(通过预编译减少网络...

    sql存储过程学习,详细的解说存储过程的语法,结构和用法。

    SQL存储过程是数据库管理系统中的一种重要工具...学习和掌握存储过程的创建、调用以及优化技巧对于任何数据库开发者都至关重要。通过实践和深入理解,您可以充分利用存储过程的优势,创建高效、安全的数据库应用程序。

    sql存储过程学习资料--总结的很全的 暴经典的资料啊

    SQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集合,它是预...这份“存储过程学习资料--总结的很全的”压缩包,无疑是深入学习存储过程的好助手,无论你是初学者还是经验丰富的开发者,都能从中受益。

    oracle 存储过程学习经典

    ### Oracle存储过程学习经典知识点详解 #### 一、Oracle存储过程概述 - **定义**: 存储过程是在数据库中预编译并存储的一段SQL或PL/SQL代码块,它可以包含复杂的逻辑处理,用于实现特定的功能。存储过程提高了代码...

    SQL SERVER 存储过程学习笔记(摘自网络)

    总结来说,SQL Server的存储过程是数据库系统中强大的工具,它们能够提升性能、简化复杂的操作、增强安全性并提高代码的复用性。熟练掌握存储过程的创建、使用和管理,对于任何数据库开发者而言都至关重要。

    SQL SERVER 存储过程学习笔记

    总结,SQL Server的存储过程是数据库开发中的强大工具,能够提升应用程序的性能和安全性,同时简化复杂操作的管理。通过深入学习和实践,我们可以充分利用存储过程的优势,构建更加高效和稳定的数据库应用。

    SybaseIQ存储过程学习笔记

    总结,Sybase IQ的存储过程是数据库管理中强大的工具,它们能够提高代码复用性,优化性能,同时简化数据库操作。理解并熟练掌握存储过程的创建、调用、管理和返回值处理,对于数据库开发者来说至关重要。在实际应用...

    mysql存储过程教程

    总结,MySQL的存储过程是提升数据库管理效率的重要工具,掌握其使用方法和最佳实践对于数据库设计和开发人员至关重要。通过学习和实践,你可以更好地利用存储过程来优化数据处理流程,提高系统性能。

    用友UAP报表存储过程开发总结

    根据提供的文档信息,本总结将围绕用友UAP报表的二次开发过程,特别是针对SQL Server存储过程的编写以及报表中数据权限控制和过滤条件的实现进行详细的知识点阐述。 ### 用友UAP报表二次开发概述 用友UAP报表是...

    MySQL存储过程入门学习

    ### MySQL存储过程入门学习 #### 一、存储过程概述 **存储过程**(Stored Procedure)是一种在数据库中存储的预先编写并编译好的SQL程序或函数集合。存储过程的主要优势在于可以提高应用程序的性能和响应速度,同时...

Global site tag (gtag.js) - Google Analytics