MySQL-流程控制结构

流程控制结构
顺序结构:程序从上往下依次执行
分支结构:程序从两条或多条路径中选择一条去执行
循环结构:程序在满足一定条件的基础桑,重复执行一段代码

 

分支结构

 

1、if函数
功能:实现简单的双分支
语法:
if(表达式1,表达式2,表达式3)
执行顺序:
如果表达式1成立,则if函数就返回表达式2的值,否则返回表达式3的值
应用场景:任何地方

2、case结构

 

复制代码
 1 情况一、类似于Java中的switch语句,一般用于实现等值判断
 2 语法:
 3         case 变量|表达式|字段
 4         when 要判断的值1 then 返回的值1或语句1;
 5         when 要判断的值2 then 返回的值2或语句2;
 6         ...
 7         else 要返回的值n或语句n;
 8         END case 9 情况二、类似于Java中的多重if语句,一般用于实现区间的判断
10 语法:
11      case 
12          when 要判断的条件1 then 返回值1或语句1;
13          when 要判断的条件2 then 返回值2或语句2;
14          ...
15          else 要返回的值n或语句n;
16          end case;
17          
18 特点:
19 (120 可以作为表达式,嵌套在其他语句中使用,可以放在任何地方,begin  end中或begin end的外边
21 可以作为独立的语句去使用,只能放在begin end中
22 (223 如果when中的值满足条件或条件成立,则执行对应的then后面的语句,并且结束case
24 如果都不满足,则执行else中的语句或值
25 (326 else可以省略,如果else省略了,并且所有的when条件都不满足,则返回null
复制代码

 

案例:创建存储过程,根据传入的成绩,来显示等级,成绩 90-100显示A,80-90显示B,80-60显示C,否则显示D

复制代码
 1 CREATE PROCEDURE test_case(in score int)
 2 begin
 3      case 
 4          when score>=90 and score<=100 then select 'A';
 5          when score>=80  then select 'B';
 6          when score>=60  then select 'C';
 7          ELSE SELECT 'D';
 8          END CASE;
 9 end $
10 CALL test_case(95)$
复制代码

运行结果:

3、实现多重分支

 

语法:
if 条件1 then 语句1
elseif 条件2 then 语句2
elseif 条件3 then 语句3
...
[else 语句n]
end if;
应用场景:应用在begin end中

案例:创建函数,根据传入的成绩,来显示等级,成绩 90-100显示A,80-90显示B,80-60显示C,否则显示D

1 create FUNCTION test_if(score int) RETURNS char
2 begin
3         if score>=90 and score<=100 then return 'A';
4         ELSEIF SCORE>=80 then return 'B';
5         ELSEIF SCORE>=60 THEN RETURN 'C';
6         ELSE RETURN 'D';
7         END IF;
8 END $

运行结果:

 

posted on   ~码铃薯~  阅读(217)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示