zoukankan      html  css  js  c++  java
  • 流程

    202066

    15:55

    一、分支结构

    1if函数

    功能:实现简单的双分支结构

    if(表达式1,表达式2,表达式3)

    执行顺序:如果1成立,者返回表达式2的值,如果不成立者是表达式3

    2case结构

    功能1、实现类似switch语句,用于实现等值判断

    语法:

    Case 变量|表达式|字段

    When 要判断的值 then 返回值1(或语句1;)

    When 要判断的值 then 返回值2(或语句2;)

    When 要判断的值 then 返回值3(或语句3;)

    Else 要返回的n

    end

    功能2、实现类似i多重f语句,

    语法:

    Case

    When 要判断的值 then 返回值1

    When 要判断的值 then 返回值2(或语句1;)

    When 要判断的值 then 返回值3(或语句1;)

    Else 要返回的n

    End

       

    特点:

    •    

      可以作为表达式,嵌套在其他语句中使用,可以放在任何地方,begin end 中或外面

      可以作为独立的语句去使用,只能放在begin end

    • 如果在when中的值满足或条件成立,则执行对应的then后面的语句,并结束case

      如果都不满足,则执行else 中的 语句

    • Else 可以省略,如果else 省略,并且所有的我很条件都不满足,则返回null

    3if结构

    实现多重分支

    语法:

    If 条件语句1 then 语句1;

    Elseif 条件2 then 语句2;

    …..

    【else 语句n;】

    End if;

    应用场合:应用在begin end 中

       

    #案例1:创建函数,实现传入成绩,如果成绩>90,返回A,如果成绩>80,返回B,如果成绩>60,返回C,否则返回D

       

    CREATE FUNCTION test_case(score FLOAT) RETURNS CHAR

    BEGIN

    DECLARE ch CHAR DEFAULT 'A';

       

    CASE

    WHEN score>90 THEN SET ch='A';

    WHEN score>80 THEN SET ch='B';

    WHEN score>60 THEN SET ch='C';

    ELSE SET ch='D';

    END CASE;

       

    RETURN ch;

    END $

       

    SELECT test_case(56)$

    二、循环结构:

    分类:

    while、loop、repeat

    循环控制:

    Iterate 类似 continue ,结束本次循环,继续下一次

    Leave 类似 break ,跳出循环

       

    1while

    语法:

    【标签:】while 循环条件 do

    循环体;

    End while 【标签】;

    2loop

    语法:

    【标签:】loop

    循环体;

    End loop;

    可以用来模拟死循环

    3repeat

    语法:

    【标签:】repeat

    循环体;

    Until 结束循环的条件

    End repeat 【标签】;

       

    案例:

    ###根据输入确定插入次数###

    CREATE PROCEDURE pickinsert( IN a INT)

    BEGIN

    DECLARE i INT DEFAULT 1;

    b:WHILE a >= i DO

    INSERT INTO admin(username,PASSWORD)VALUES(CONCAT('leijun',i),'8888');

    SET i = i+1;

    END WHILE b;

       

    END $

    ###根据输入确定偶数时插入###

    CREATE PROCEDURE pickinsert( IN a INT)

    BEGIN

    DECLARE i INT DEFAULT 1;

    b:WHILE a >= i DO

    SET i = i+1;

    IF MOD(i,2)!= 0 THEN ITERATE b;

    END IF;

    INSERT INTO admin(username,PASSWORD)VALUES(CONCAT('leijun',i),'8888');

    END WHILE b;

       

    END $

       

       

       

      

  • 相关阅读:
    计算机基础--http的基础整理和巩固
    设计方案系列-如何看待前端框架选型 ?
    数据可视化-svg入门基础(二)
    数据可视化系列--svg入门基础(一)
    Jenkins自动部署增加http状态码校验
    快速搭建python程序
    Request 接收参数乱码原理解析三:实例分析
    Request 接收参数乱码原理解析二:浏览器端编码原理
    Request 接收参数乱码原理解析一:服务器端解码原理
    Newtonsoft.Json(Json.Net)学习笔记
  • 原文地址:https://www.cnblogs.com/yuknight/p/13055646.html
Copyright © 2011-2022 走看看