MySQL_MySQL流程控制结构

引入:

        为了解决不同的在实际开发中的不同的需求,SQL同样提供了类似java一样的流程控制结构,主要包括顺序结构,选择结构,循环结构等。

流程控制语句概述

流程控制语句概述:

1.概述:
      一般一个程序执行的时候,是从上到下,也就是说哪一条语句在前,就会先执行这一个语句,但是有时候我们的需求并不是这样的有的语句我们需要先执行,有些需要后执行,有些需要加条件执行,这一个时候我们就需要使用流程控制语句来解决这些问题。

2.分类:
  顺序结构
  选择结构
  循环结构

流程控制语句详解以及基本使用

1.选择结构

分支结构的内容详解:

1.if函数

  (1).功能:能够实现按照设置条件的简单分支结构

  (2).基本语法:
      if(表达式1,表达式2,表达式3)
      
      执行流程:表达式1一般就是条件表达式,如果表达式1成立(也就是true),那么就返回表达式2的值, 
      否则就返回表达式3的值。

  (3).使用情况:需要使用简单的分支,可以使用在任何的场景。


  
2.case结构

  (1).功能:
      类似于java中的switch语句,一般可以用于实现等值判断。
      类似于java中的多条件if语句,一般可以用于实现区间判断。


  (2).语法结构:

      情况1:等值判断语法

      case 变量|表达式|字段
      when 要判断的值 then 返回值1或者是可执行语句;
      when 要判断的值 then 返回值2或者是可执行语句;
      when 要判断的值 then 返回值3或者是可执行语句;
      ...
      esle 要返回在值n;
      end case;


      情况2:使用于区间判断
   
      case 
      when 要判断的条件1 then 返回值1或者是可执行语句;
      when 要判断的条件2 then 返回值2或者是可执行语句;
      when 要判断的条件3 then 返回值3或者是可执行语句;
      ...
      esle 要返回在值n;
      end case;


 (3).使用特点
     A:作为表达式,嵌套在其他语句中使用,可以放置在任何地方。(也就是说可以放在begin end中或者
     是放置在begin end的外面)。

     B:作为表达式,只能够放置在begin end中。

 (4).执行特点
     如果when中的值满足或者是条件满足,则执行then后面的语句,这一个时候就会跳出整个case语句,如
     果都没有满足,那么将会执行else后面的语句,如果说没有写else语句(或者是省略了),这一个时候将
     会返回null。


3.if结构(注意不是if函数)
 
 (1).功能:可以实现多条件分支

 (2).语法结构
     
     if 条件1 then 语句1;
     elseif 条件2 then 语句2;
     ...
     [else 语句n]
     end if

 (3).使用特点
     if结构只能够应用在begin end中使用。 

基本使用测试:

如:根据传入的不同的区间,给出不同的成绩等级。(if结构使用测试)

如:根据传入的不同的区间,给出不同的成绩等级。(case结构使用测试)

2.循环结构

流程控制语句之循环结构

1.常见的循环结构分类

  while loop repeat

2.循环控制
  
  (1).基本使用
      循环控制可以操作循环的执行效果,按照需求来进行循环的次数以及循环的过程。

  (2).常见的循环控制语句
      iterate :功能类似于java中的continue,结束本次循环,继续下一次。
      leave :类似于java中的break,用于跳出,结束当前所在循环。
  

3.内容详解

while循环

基本语法
   
    [标签:] while 循环体 do
          循环体;
    end while [标签];


loop循环

基本语法
   
    [标签:] loop
            循环体;
     end loop [标签];
     
     可以用来模拟简单的死循环。

repeat

基本语法
     
    [标签:] repeat
            循环体;
    until 结束循环的条件
    end repeat [标签] ;

使用测试:

如:使用while循环批量插入数据到表admin中

如:使用leave循环批量插入数据到表admin中

如:使用iterate循环批量插入数据到表admin中

发布了51 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u013185175/article/details/103274602