zoukankan      html  css  js  c++  java
  • MySQL数据库8(二十三)流程结构(if / while)

    流程结构

    流程结构:代码的执行顺序

    If分支

    基本语法

    If在mysql中有两种基本用法:

    1、用在select查询当中,当作一种条件来判断

    基本语法:if(条件,为真结果,为假结果)

    最好取别名 if(条件,为真结果,为假结果) as 别名

     

    2、用在复杂的语句块中(函数/存储过程/触发器)

    基本语法:

    if 条件表达式 then

           满足条件要执行的语句;

    end if;

    复合语法

    复合语法:代码的判断存在两面性,两面都有对应的代码执行

    基本语法:

    if 条件表达式 then

           满足条件要执行的语句;

    else

           不满足条件要执行的语句;

           //如果还有其他分支(细分),可以在里面再使用if

           if 条件表达式 then

           满足条件要执行的语句;

           end if;

    end if;

    while循环

    循环体都是需要在大型代码块中使用。

    基本语法

    while 条件 do

           循环体;

    end while;

    结构标识符

    结构标识符:为某些特定的结构进行命名,然后为的是在某些地方使用名字。

    基本语法

    标识名字:while 条件 do

           循环体;

    end while[标识名字];

    标识符的存在主要是为了循环体中使用循环控制。在mysql中没有continue和break,有自己的关键字替代。

    iterate:迭代,就是以下的代码不执行,重新开始循环(continue)

    leave:离开,整个循环终止(break)

    基本语法:

    标识名字:while 条件 do

           if 条件判断 then

                  循环控制;

                  iterate/leave 标识名字;

           end if;

    循环体;

    end while[标识名字];

    case循环

    基本语法:

    case [条件]

    when条件1 then 语句1

    when条件2 then 语句2

    ….

    else 语句n

    end case

    case可以用在select语句中,但不能用在where语句中。

    1、判断的同时改变其值

    select OperatorAccount,

     

            case

         when CreateTime>'2016-02-14 16:24:42' then 'after'

     

             when CreateTime<'2016-02-14 16:24:42' then 'before'

     

             else 'now' end stage

    from log_login order by CreateTime DESC

     

    2、拆分一行为多列

  • 相关阅读:
    C#子线程抛出的异常给主线程
    WebBrowser1_DocumentCompleted事件里面无法触发InvokeMember("click")
    判断页面是否完全载入对ExtendedWebBrowser的DocumentCompleted再扩展
    webBrowser载入网页机制网页加载是否完毕判断
    验证码识别必备,c#分析bmp图形文件,一个有用的BMP图形分析类
    ConcurrentDictionary数据结构的使用方法
    手机号码归属地查询api接口
    Eclipse自动提示
    学计算机该看的书
    天气预报api整理
  • 原文地址:https://www.cnblogs.com/sun-yanglu/p/9612896.html
Copyright © 2011-2022 走看看