热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Mysql那些事儿之(十五)流程的控制

Mysql那些事儿之(十五)流程的控制相关链接:Mysql那些事儿之(一)mysql的安装http://www.2cto.com/database/201210/162314.html;Mysql那些事儿之(二)有关数据库的操作http://www.2cto.com/database/201210/162...

Mysql那些事儿之(十五)流程的控制
 
相关链接:
Mysql那些事儿之(一)mysql的安装
http://www.2cto.com/database/201210/162314.html;
Mysql那些事儿之(二)有关数据库的操作
http://www.2cto.com/database/201210/162315.html
Mysql那些事儿之(三)有关数据表的操作
http://www.2cto.com/database/201210/162316.html;
Mysql那些事儿之(四)数据表数据查询操作
http://www.2cto.com/database/201210/162317.html;
Mysql那些事儿之(五)操作时间
http://www.2cto.com/database/201210/162318.html;
Mysql那些事儿之(六)字符串模式匹配
http://www.2cto.com/database/201210/163969.html;
Mysql那些事儿之(七)深入select查询
http://www.2cto.com/database/201210/163970.html;
Mysql那些事儿之(八)索引
http://www.2cto.com/database/201210/163971.html;
Mysql那些事儿之(九)常用的函数
http://www.2cto.com/database/201210/164229.html;
Mysql那些事儿之(十)触发器一
http://www.2cto.com/database/201210/164516.html;
Mysql那些事儿之(十一)触发器二
http://www.2cto.com/database/201210/164766.html;
Mysql那些事儿之(十二)存储过程
http://www.2cto.com/database/201210/164795.html;
Mysql那些事儿之(十三)变量、条件的使用
http://www.2cto.com/database/201211/165662.html;
Mysql那些事儿之(十四)光标的使用
http://www.2cto.com/database/201211/165664.html
 
IF语句  www.2cto.com  
Sql代码  
---语法结构  
IF search_condition THEN statement_list  
    [ELSEIF search_condition THEN statement_list]....  
        [ELSE statement_list]  
END IF  
  
---举例  
if i_staff_id = 2 then  
  set @x1 = @x1 + d_amount;  
else  
  set @x2 = @x2 + d_amount;  
end if;  
CASE语句
Sql代码  
---CASE语句的语法格式  
CASE case_value  
    WHEN when_value THEN statement_list  
    [WHEN when_value THEN statement_list]....  
    [ELSE statement_list]  
END CASE  
 www.2cto.com  
---case语句举例:  
case  
  when i_staff_id = 2 then   
    set @x1 = @x1 + d_amount;  
  else  
    set @x2 = @x2 + d_amount;  
end case  
 LOOP语句
Sql代码  
[begin_label:] LOOP  
    statement_list  
END LOOP [end_label]  
---如果不在statement_list中增加退出循环的语句,那么LOOP语句可以用来实现简单的死循环。  
 LEAVE语句
Sql代码  
---将结束符替换为$$  
delimiter $$  
---创建存储过程  
CREATE PROCEDURE actor_num()  
BEGIN  
  set @x = 0;  
  ins:LOOP  
    set @x = @x + 1;  
    IF @x = 100 THEN  
      leave ins;  
    END IF;  
    INSERT INTO actor(first_name,last_name) VALUES('TEST',222);  
  END LOOP ins;  
END;  
$$  
delimiter ;  
 ITERATE语句
Sql代码  
--必须用在循环中,作用就是跳过当前的循环直接进入下一轮循环。  
delimiter $$  
CREATE PROCEDURE actor_num()  
BEGIN  
  set @x = 0;  
  ins:LOOP  
    set @x = @x + 1;  
    IF @x = 100 THEN  
      leave ins;  
    ELSEIF mod(@x/2,0) = 0 THEN  
      iterate ins;  
    END IF;  
    INSERT INTO actor(first_name,last_name) VALUES('TEST',222);  
  END LOOP ins;  
END;  
$$  
delimiter ;  
 REPEAT 语句
Sql代码  
--有条件循环,当满足条件的时候退出循环。  
--语法:  
[begin_label:] REPEAT  
    statement_list  
UNTIL search_condition  
END REPEAT [end_label]  
--举例  
REPEAT  
FETCH cur_payment INTO i_staff_id,d_amount;  
  if i_staff_id = 2 then  
    set @x1 = @x1 + d_amount;  
  else  
    set @x2 = @x2 + d_amount;  
  end if;  
UNTIL 0 END REPEAT;  
 WHILE 语句
Sql代码  
---语法结构  
[begin_label:] WHILE search_condition DO  
    statement_list  
END WHILE [end_label]  
 

推荐阅读
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
author-avatar
排骨冬菇面
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有