广告
返回顶部
首页 > 资讯 > 数据库 >MySQL--流程控制结构
  • 683
分享到

MySQL--流程控制结构

MySQL--流程控制结构数据库入门数据库基础教程 2018-06-17 05:06:18 683人浏览 猪猪侠
摘要

一、分支结构   #1.if 函数     语法:if(条件  ,  值1,值2)    功能:实现双分支    应用在begin end中或外面        #2.case 结构    语法:    情况1:类似于switch     

MySQL--流程控制结构[数据库教程]

一、分支结构

  #1.if 函数

    语法:if(条件  ,  值1,值2)
    功能:实现双分支
    应用在begin end中或外面        #2.case 结构

    语法:
    情况1:类似于switch
      case 变量或表达式
      when 值1 then 语句1;
      when 值2 then 语句2;
        ...
      else 语句n;
      end          情况2:
      case
      when 条件1 then 语句1;
      when 条件2 then 语句2;
        ...
      else 语句n;
      end       应用在begin end 中或外面     #3.if  结构     语法:
      if  条件 1  then  语句1;
      else if 条件2 then 语句2;
        ....
      else  语句n;
      end if;
    功能:类似于多重if     只能应用在begin end 中   #案例1:创建函数,实现传入成绩,如果成绩>90,返回A,如果成绩>80,返回B,如果成绩>60,返回C,否则返回D
CREATE FUNCTioN test_if(score FLOAT) RETURNS CHAR
BEGIN
 DECLARE ch CHAR DEFAULT A;
 IF score>90 THEN SET ch=A;
 ELSEIF score>80 THEN SET ch=B;
 ELSEIF score>60 THEN SET ch=C;
 ELSE SET ch=D;
 END IF;
 RETURN ch;
 
END $

SELECT test_if(87)$

 

#案例2:创建存储过程,如果工资<2000,则删除,如果5000>工资>2000,则涨工资1000,否则涨工资500
CREATE PROCEDURE test_if_pro(IN sal DOUBLE)
BEGIN
 IF sal<2000 THEN DELETE FROM employees WHERE employees.salary=sal;
 ELSEIF sal>=2000 AND sal<5000 THEN UPDATE employees SET salary=salary+1000 WHERE employees.`salary`=sal;
 ELSE UPDATE employees SET salary=salary+500 WHERE employees.`salary`=sal;
 END IF;
 
END $

CALL test_if_pro(2100)$

 

#改进--案例1:创建函数,实现传入成绩,如果成绩>90,返回A,如果成绩>80,返回B,如果成绩>60,返回C,否则返回D
CREATE FUNCTION test_case(score FLOAT) RETURNS CHAR
BEGIN 
 DECLARE ch CHAR DEFAULT A;
 
 CASE   #------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,跳出,结束当前所在的循环       #1.while     语法:       【标签:】while 循环条件 do
     循环体;
       end while【 标签】;     联想:        while(循环条件){          循环体;
       }     #2.loop     语法:
      【标签:】loop
       循环体;
       end loop 【标签】;          可以用来模拟简单的死循环       #3.repeat
    语法:
      【标签:】repeat
       循环体;
        until 结束循环的条件
        end repeat 【标签】;     #1.没有添加循环控制语句
#案例:批量插入,根据次数插入到admin表中多条记录
DROP PROCEDURE pro_while1$
CREATE PROCEDURE pro_while1(IN insertCount INT)
BEGIN
 DECLARE i INT DEFAULT 1;
 WHILE i<=insertCount DO
  INSERT INTO admin(username,`passWord`) VALUES(CONCAT(Rose,i),666);
  SET i=i+1;
 END WHILE;
 
END $
CALL pro_while1(100)$


#2.添加leave语句 #案例:批量插入,根据次数插入到admin表中多条记录,如果次数>20则停止

TRUNCATE TABLE admin $ 
DROP PROCEDURE test_while1 $ 
CREATE PROCEDURE test_while1 (IN insertCount INT) 
BEGIN
  DECLARE i INT DEFAULT 1 ;
  
   a:WHILE i<=insertCount DO
  INSERT INTO admin(username,`password`) VALUES(CONCAT(xiaohua,i),0000);
  IF i>=20 THEN LEAVE a;
  END IF;
  SET i=i+1;
 END WHILE a;
END $

CALL test_while1(100)$

 

#3.添加iterate语句 #案例:批量插入,根据次数插入到admin表中多条记录,只插入偶数次
TRUNCATE TABLE admin$
DROP PROCEDURE test_while1$
CREATE PROCEDURE test_while1(IN insertCount INT)
BEGIN
 DECLARE i INT DEFAULT 0;
 a:WHILE i<=insertCount DO
  SET i=i+1;
  IF MOD(i,2)!=0 THEN ITERATE a;
  END IF;
  
  INSERT INTO admin(username,`password`) VALUES(CONCAT(xiaohua,i),0000);
  
 END WHILE a;
END $

CALL test_while1(100)$

                 

Mysql--流程控制结构

原文:https://www.cnblogs.com/lfw421935678/p/13425830.html

您可能感兴趣的文档:

--结束END--

本文标题: MySQL--流程控制结构

本文链接: https://www.lsjlt.com/news/7677.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL--流程控制结构
    一、分支结构   #1.if 函数     语法:if(条件  ,  值1,值2)    功能:实现双分支    应用在begin end中或外面        #2.case 结构    语法:    情况1:类似于switch     ...
    99+
    2018-06-17
    MySQL--流程控制结构 数据库入门 数据库基础教程
  • lyt经典版MySQL基础——流程控制结构
    1 #流程控制结构 2 8 9 #一、分支结构 10 #1.if函数 11 20 21 #2.case结构 22 53 54 #案例 55 #创建存储过程,根据传入的成绩,来显示等级,比如传入的...
    99+
    2019-07-20
    lyt经典版MySQL基础——流程控制结构 数据库入门 数据库基础教程 数据库 mysql
  • [Python] 程序结构与控制流
    1. 条件语句 if、else与elif语句用于控制条件代码的执行。条件语句的一般格式如下: if expression: statements elif expression: statements elif expres...
    99+
    2023-01-31
    结构 程序 Python
  • Java流程控制之顺序结构
    目录1.关于顺序结构2.顺序结构简单图示3.示例助解Java中的流程控制语句可以这样分类:顺序结构,选择结构,循环结构。 1.关于顺序结构 JAVA的基本结构就是顺序结构,除非特别指...
    99+
    2022-11-12
  • Java流程控制之选择结构
    目录1、if单选择结构2、if双选择结构3、if多选择结构4、嵌套的if结构5、switch多选择结构6、补充:case穿透布尔表达式: 布尔表达式(Boolean expressi...
    99+
    2022-11-12
  • python流程控制有哪些结构
    python中的流程控制结构有顺序结构、分支结构和循环结构三种:顺序结构顺序结构就是指按顺序去执行步骤,即语句从上至下按顺序执行。分支结构分支结构是指根据条件来选择性的执行某段代码,python中常使用if语句来实现分支结构。循环结构pyt...
    99+
    2022-10-09
  • 如何掌握javascript流程控制结构
    今天小编给大家分享一下如何掌握javascript流程控制结构的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2022-10-19
  • Java基础之三大控制流程结构
    目录一、前言二、顺序结构三、选择结构3.1 if选择结构3.2 switch选择结构四、循环结构4.1 While循环4.2 DoWhile循环4.3 For循环一、前言 在代码的控...
    99+
    2022-11-12
  • MySQL流程控制
    流程控制 顺序结构: 程序从上往下依次执行分支结构: 程序按条件进行选择执行,从两条或多条路径中选择一条执行。循环结构: 程序满足一定条件下,重复执行一组语句 针对于MySQL的流程控制语句主要有3类。注意:只能用于存储程序 条件判断语...
    99+
    2023-08-22
    mysql
  • Java流程控制之循环结构while、do...while
    目录1、while 循环2、do…while 循环3、while和do…while的区别本篇笔记内容记录while循环以及do…while循...
    99+
    2022-11-12
  • JavaScript中有哪些结构的程序控制流
    本篇文章为大家展示了JavaScript中有哪些结构的程序控制流,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、if条件语句基本格式:if(表述式)语句段1;.....
    99+
    2022-10-19
  • Java流程控制语句之If选择结构
    目录一、选择结构大纲二、if单选择结构三、if双选择结构四、if多选择结构五、嵌套的if结构六、代码show一、选择结构大纲 if单选择结构 if双选择结构 ...
    99+
    2022-11-12
  • 一篇文章搞懂Python程序流程控制结构
    目录一、程序的组织结构1.三种基本结构2.程序流程图二、顺序结构二、选择结构(分支结构)1.单分支 if2.双分支 if…else3.多分支 if…eli...
    99+
    2022-11-11
  • python常见的流程控制结构有哪几种
    python常见的流程控制结构有三种,分别是顺序结构、选择结构和循环结构等。详细介绍:1、顺序结构,这是程序中最简单的结构,按照代码的先后顺序,从上到下依次执行;2、选择结构,这种结构可以根据一定的条件判断,选择执行不同的代码块,在Pyth...
    99+
    2023-12-12
    python 流程控制
  • julia语言支持的流程控制结构有哪些
    Julia语言支持的流程控制结构包括:1. 条件语句:- `if-else`语句:根据条件执行不同的代码块。- `switch`语句...
    99+
    2023-09-21
    julia
  • Java流程控制之选择结构的示例分析
    这篇文章主要介绍Java流程控制之选择结构的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!布尔表达式:布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假...
    99+
    2023-06-22
  • Java流程控制之顺序结构的示例分析
    这篇文章主要介绍了Java流程控制之顺序结构的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java中的流程控制语句可以这样分类:顺序结构,选择结构,循环结构。1.关...
    99+
    2023-06-22
  • mysql 流程控制函数
    if 函数:if else 的效果 SELECT IF(10<5,'大','小'); #第一个表达式为真则返回第二个参数否则返回第三个 #案例: SELECT last_name, ...
    99+
    2022-10-18
  • 浅谈shell脚本中的控制流结构
    习惯了c/c++的编程环境,再转到shell编程上,总有那么一点陌生的感觉。 shell中一般的if-then-else函数格式无外乎如下: if 条件1 then 命令1 elif 条件2 then命令2 ...
    99+
    2022-06-04
    shell脚本控制流结构 浅谈shell脚本中的控制流结构
  • Java流程控制之循环结构for,增强for循环
    目录1、for循环1.1-for循环语法格式及说明1.2-for循环实例练习演示2、增强for循环2.1-增强for循环语法格式及说明2.2-增强for循环实例演示1、for循环 虽...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作