引言

MySQL 中的流程控制作为基础知识的最后一块拼图,显得并不是特别重要,而且,在实际生产开发中,也往往不需要通过它来进行程序的控制,那么为什么还要学习它呢?我认为有以下几点:

1、知识的完整性:虽然MySQL 的流程控制结构并不重要,但是作为MySQL 基础知识的一部分,我认为有必要将它补充完善,最起码也要掌握其基本语法和结构,不至于到了真正用的时候临时抱佛脚。

2、任何知识都有其应用价值:虽然MySQL 的流程控制并不重要,但是知识的魅力就是,你不知道它什么时候就会用得上,所以为了有所准备,还是应该适当了解一下这部分内容。

3、给MySQL基础知识画个圆满的句号:MySQL基础系列一路走下来,可谓收获不少,虽然我敢肯定MySQL的知识内涵还远不止如此,但作为一个后端开发人员,能够将这一系列的总结掌握透彻,在实际开发中有所运用也基本算是一个优秀的开发者了。那么本篇流程控制结构的总结,不仅是要为基础知识画上句号,同时也是开启 MySQL 高级系列的起承转合之章。

一、分支结构

1.1 IF() 函数

功能:实现简单的双分支。

语法:IF(表达式1,表达式2,表达式3)

解析:IF() 函数很好理解,和Java 中的三目运算符完全一样,都是先判断第一表达式是否为 true,如果是,则执行表达式2的语句,如果是false,则执行表达式3 的语句。它可以应用与MySQL 中的任何地方,包括存储过程和函数中。

1.2 CASE  结构

功能:实现多分支。

语法

CASE 变量 | 表达式 | 字段WHEN 值1或表达式1  THEN  返回值1 [或语句1;]WHEN 值2或表达式2  THEN  返回值2 [或语句2;]...ELSE 其他情况返回值 [或语句;]END [CASE;]

解析:case 结构可以实现类似 Java 的switch 语句的等值判断,也可以实现类似 if...else if 的区间判断。它既可以嵌套在其他语句中,同时也可以作为独立的语句执行。BEGIN-END内外都可以使用。

1.3 IF 结构

IF 结构可以实现多分支结构,但只能用于 BEGIN-END 中。

语法:

IF 条件1 THEN 语句1;
ELSEIF 条件2 THEN 语句2;
...
ELSE 语句n;
END IF;

二、循环结构

MySQL 中的循环结构分为三类:

WHILE、LOOP、REPEAT

另外还有一些循环控制符:

ITERATE:类似于 Java 中的 continue,用于结束本次循环,继续下一次。

LEAVE : 类似于 Java 中的 break,用于结束循环。

WHILE 循环语法:

[标签:] WHILE 循环条件 DO循环体;
END WHILE [标签];

标签可以省略,但如果希望使用 LEAVE 等流程控制语句,则必须指定标签。

LOOP语法和 WHILE 类似,只是把 WHILE 关键字换成了 LOOP,可以用LOOP 模拟一些简单的死循环。

REPEAT 循环语法:

[标签:] REPEAT循环体;
UNTIL 结束循环的条件
END REPEAT [标签];

MySQL 基础 ———— 流程控制结构相关推荐

  1. MySQL之流程控制结构(分支,循环)

    流程控制结构 顺序结构:程序从上往下依次执行 分支结构:程序从两条或多条路径中选择一条去执行 ①IF函数:实现简单的双分支 IF(条件,结果1,结果2) ②CASE结构:相当于switch或多重if, ...

  2. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  3. 尚硅谷-MySQL流程控制结构

    MySQL流程控制结构 顺序结构:程序从上到下依次执行 分支结构:程序可以从俩条或多条路径中选择一条执行 循环结构:程序在满足一定条件的基础上,重复执行一段代码 一.分支结构 1.IF函数 功能:实现 ...

  4. Mysql基础运用(视图,变量,存储,流程控制)

    前要:结尾彩蛋 目录 一.视图 1.视图概述 2.创建视图 1)语法格式 2)视图示例 3.修改视图 1)语法格式 4.查看视图 5.删除视图 二.变量 1.变量分类 1)局部变量 2)用户变量 3) ...

  5. MySql基础篇---004 其它数据库对象篇:视图,存储过程与函数,变量、流程控制与游标 ,触发器

    第14章_视图 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 常见的数据库对象 对象 描述 表(TABLE) 表是存储数据的逻辑单元,以行和列的形 ...

  6. 黑马程序员_JavaSE基础03 之 运算符 流程控制结构

    ----------------------       android培训.java培训.期待与您交流!   ---------------------- JavaSE_03  笔记 Java语言基 ...

  7. Mysql流程控制结构

    流程控制结构 顺序.分支.循环 1. 分支结构 if函数 语法:if(条件,值1,值2) 功能:实现双分支 应用在begin end中或外面 case结构 语法: 情况1:类似于switch case ...

  8. mysql数据库入门教程(15):流程控制结构

    一.流程控制结构介绍 #流程控制结构 /* 顺序.分支.循环 */ 1.分支结构 #1.if函数 /* 语法:if(条件,值1,值2) 功能:实现双分支 应用在begin end中或外面 如果条件成立 ...

  9. 十六、MySQL流程控制结构(顺序、分支、循环)详解 强化练习

    流程控制结构:顺序.分支.循环 一.分支结构 case结构作为表达式: case结构作为独立的语句: if函数 语法:if(条件,值1,值2) 功能:实现双分支 应用在begin end中或外面 ca ...

最新文章

  1. c# winform 关于给静态全局变量赋值的问题
  2. Ubuntu10.10更新源
  3. 安卓向服务器发送List数据
  4. PNG免抠素材教你如何设计一张有创意的中秋节热点海报?
  5. 一个前端博客(9)——浏览器检测和加载
  6. STM32F7 SAI驱动
  7. 直播客户端和浏览器使用桌面共享时出现黑屏等问题
  8. Monte Carlo Algorithms
  9. 计算机学硕考试时间,考研全年时间表!重要的23个时间点,都帮你整理好了
  10. 云服务器ubuntu建网站,云服务器ubuntu建网站
  11. 数据仓库(三)之架构篇
  12. 直观理解Dilated Convolution
  13. php制作简单的用户注册登录
  14. 根据经纬度坐标获得省市区县行政区划城市名称,自建数据库 java python php c# .net 均适用
  15. nginx转发http请求
  16. 5g理论速度_5G是什么?5G速度有多快?
  17. mysql 慢日志可视化_Mysql 慢日志分析系统搭建 —— Box Anemometer
  18. Python分析《哈哈哈哈哈》第11期弹幕数据
  19. xstream操作xml
  20. 如何杜绝发生手游更新失败这种现象?

热门文章

  1. 为什么wait/notify必须要和synchronized一起使用?
  2. 从JVM入手,聊聊Java的学习和复习!
  3. Linux——线程使用及互斥量
  4. Ubuntu20.04 pycharm python打包制作DEB包详细步骤及雷区
  5. Git本地缓存问题 修改密码后git无法拉取
  6. .Net Core 开发成长路线图
  7. python的基本数据结构_Python学习笔记——基本数据结构
  8. java 保存 设置_java – 保存设置的实现
  9. 炫界 (978) -(建工发现应用克隆漏)_除了DMA,这些漏损点检测与漏损区域识别技术你知道么?...
  10. python编程快速上手 让繁琐工作自动化 豆瓣_2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?...