【大数据系列之MySQL】(三十五):MySQL中的流程控制

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【大数据系列之MySQL】(三十五):MySQL中的流程控制

一、分支结构

1.if函数

实现双分支结构

if (表达式1,表达式2, 表达式3)
如果表达式1成立,则if函数返回表达式2的值,否则返回表达式3的值

2.case结构

  • 情况1:类似于Java中的switch语句,一般用于实现等值判断
  • 情况2:类似于Java中的多重if分支结构,一般用于实现区间判断
case 要判断的字段或表达式
when 常量1 要显示的值或语句;
when 常量2 要显示的值或语句;
...
else 要显示的值或语句;(相当于default)
end
case
when 条件1 要显示的值或语句;
when 条件2 要显示的值或语句;
...
else 要显示的值或语句;
end

可以作为表达式,嵌套在其它语句中使用,可以放在任何地方

3.if结构

实现多重分支,不同于if函数,只能应用在begin end中

if 条件1 then 语句1
elseif 条件2 then 语句2
...
可选【else 语句n;】
end if;
# 根据传入的成绩,来显示等级,比如传入的成绩:90-100返回A
create function test_if(score INT) returns char
begin
  if score>=90 and score<=100 then return 'A'
  elseif score>=80 then return 'B'
  elseif score>=60 then return 'C'
  else return 'D';
  end if;
end $

二、循环结构

分类:

  • while、loop、repeate
  • iterate类似于continue,继续,结束本次循环,继续下一次
  • leave类似于break,跳出,结束当前所在的循环

1.while

【标签: 】while 循环条件 do
      循环体
     end while【标签:】;
# 批量插入多条数据
create procedure pro_while(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 $

2.loop

【标签: 】loop
      循环体
     end loop【标签:】;
# 可以用来模拟死循环

3.repeat

【标签: 】repeat
      循环体
     until 结束循环的条件
     end repeat【标签:】;
# 类似于do while

4.使用leave

# 批量插入多条数据,如果次数大于20停止
create procedure pro_while(IN insertCount int)
begin
  declare i int default 1;
  a: while i<= insertCount do
    insert into admin(username, password) values(concat('rose', i), '666')
    if i>=20 then leave a;
    set i = i+1
  end while a;
end $


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
6月前
|
存储 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL 数据库课程设计:开启数据宇宙的传奇之旅
本文全面剖析数据库课程设计 MySQL,展现其奇幻魅力与严峻挑战。通过实际案例凸显数据库设计重要性,详述数据安全要点及学习目标。深入阐述备份与恢复方法,并分享优秀实践项目案例。为开发者提供 MySQL 数据库课程设计的全面指南,助力提升数据库设计与管理能力,保障数据安全稳定。
大数据新视界--大数据大厂之MySQL 数据库课程设计:开启数据宇宙的传奇之旅
|
5月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
5月前
|
存储 关系型数据库 MySQL
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
本文详细介绍了在 MySQL 中创建数据库和表的方法。包括安装 MySQL、用命令行和图形化工具创建数据库、选择数据库、创建表(含数据类型介绍与选择建议、案例分析、最佳实践与注意事项)以及查看数据库和表的内容。文章专业、严谨且具可操作性,对数据管理有实际帮助。
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
|
6月前
|
关系型数据库 MySQL 数据安全/隐私保护
大数据新视界--大数据大厂之MySQL 数据库课程设计:数据安全深度剖析与未来展望
本文深入探讨数据库课程设计 MySQL 的数据安全。以医疗、电商、企业案例,详述用户管理、数据加密、备份恢复及网络安全等措施,结合数据安全技术发展趋势,与《大数据新视界 -- 大数据大厂之 MySQL 数据库课程设计》紧密关联,为 MySQL 数据安全提供全面指南。
大数据新视界--大数据大厂之MySQL 数据库课程设计:数据安全深度剖析与未来展望
|
6月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
6月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
6月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
5天前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
65 14
|
2月前
|
机器学习/深度学习 运维 监控
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
74 0
|
3月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
91 4

热门文章

最新文章

  • 1
    人工智能平台PAI产品使用合集之如何在odps上启动独立的任务
    185
  • 2
    DataWorks操作报错合集之出现报错“odps-0123055:用户脚本异常-Traceback(最后一次调用)”,如何解决
    431
  • 3
    人工智能平台PAI操作报错合集之在ODPS的xxx_dev项目空间调用easyrec训练,需要访问yyy项目空间的OSS,出现报错,是什么导致的
    139
  • 4
    MaxCompute操作报错合集之创建oss外部表时出现了报错:"Semantic analysis exception - external table checking failure, error message:,该怎么办
    413
  • 5
    MaxCompute操作报错合集之在本地用tunnel命令上传excel表格到mc遇到报错: tunnel upload C:\Users***\Desktop\a.xlsx mc里的非分区表名 -s false;该怎么办
    169
  • 6
    DataWorks操作报错合集之数据源同步时,使用脚本模式采集mysql数据到odps中,使用querySql方式采集数据,在脚本中删除了Reader中的column,但是datax还是报错OriginalConfPretreatmentUtil - 您的配置有误。如何解决
    379
  • 7
    MaxCompute操作报错合集之通过UDF调用异常(其他使用http调用正常)。报错:java.lang.NoSuchMethodError:是什么导致的
    178
  • 8
    MaxCompute操作报错合集之查询外部表insert到内部表报错,两表字段一致,是什么原因
    163
  • 9
    MaxCompute操作报错合集之出现报错:invalid dynamic partition value: \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd是什么原因
    369
  • 10
    MaxCompute产品使用合集之如何设置每次返回超过10000行记录
    192
  • 推荐镜像

    更多