热门标签 | 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]  
 

推荐阅读
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 1.介绍有时候我们需要一些模拟数据来进行测试,今天简单记录下如何用存储过程生成一些随机数据。2.建表我们新建一张学生表和教师表如下:CREATETABLEstudent(idINT ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文详细介绍了MySQL数据库中的Bin Log和Redo Log,阐述了它们在日志记录机制、应用场景以及数据恢复方面的区别。通过对比分析,帮助读者更好地理解这两种日志文件的作用和特性。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文探讨了如何在Hive(基于Hadoop)环境中编写类似SQL的语句,以去除字段中的空格。特别是在处理邮政编码等数据时,去除特定位置的空格是常见的需求。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • Oracle中NULL、空字符串和空格的处理与区别
    本文探讨了在Oracle数据库中使用NULL、空字符串('')和空格('_')时可能遇到的问题及解决方案。重点解释了它们之间的区别,以及在查询和函数中的行为。 ... [详细]
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社区 版权所有