当前位置:网站首页>流程控制结构——《mysql 从入门到内卷再到入土》

流程控制结构——《mysql 从入门到内卷再到入土》

2022-08-10 20:51:00 Dhaa_Ryan

内卷能让一个群体的内部变得异常的精致,但是本质上却完完全全没有任何的进步,并且会导致更多没必要的资源浪费以及带来更加激烈的竞争。它是zbzy社会下劳动力过剩的必然现象。

流程控制结构

就if啊,while啥的

if函数

语法:

IF(表达式1,表达式2,表达式3)
//1成立返回表达式2,反之返回3

case结构

可作为表达式嵌套在其他语句中使用,也可作为独立的语句去使用(但只能放在BEGIN END 中)
语法:

//等值判断
CASE 变量|表达式|字段
WHEN 要判断的值 THEN 返回的值1/语句;
WHEN 要判断的值 THEN 返回的值2/语句;
ELSE 返回的值n
END
//等值判断
CASE 变量|表达式|字段
WHEN 判断条件1 THEN 返回的值1/语句;
WHEN 判断条件2 THEN 返回的值2/语句;
ELSE 返回的值n//没有ELSE返回NULL
END

测试例:
创建存储过程,根据传入的成绩来显示等级

CREATE PROCEDURE fun(IN score INT)
BEGIN
CASE
WHEN score>=90 AND score<=100 THEN SELECT ‘A’;
WHEN score>=80 THEN SELECT ‘B’;
WHEN score>=60 THEN SELECT ‘C’;
ELSE SELECT ‘D’;
END $
CALL test_case(114514)$

if结构

//应用在BEGIN END

语法:
IF
条件1 THEN 语句;
ELSEIF 
条件2 THEN 语句2;
.....
ELSE 语句n;
END IF;

测试例:
创建存储过程,根据传入的成绩来显示等级

CREATE FUNCTION fun(IN score INT)
BEGIN
IF score >=90 and score<=100 THEN return ‘A’;
ELSEIF score>=80 THEN RETURN ‘B’;
ELSEIF score>=60 THEN RETURN ‘C’;
END IF;
END $
CALL test_case(114514)$

循环结构

while,loop,repeat
iterate 类似于continue,leave 类似于break;

语法:

WHILE 循环条件 DO
循环体;
END WHILE

循环插入数据

CREATE PROCEDURE fun(IN insertCount INT)
BEGIN
DECLEARE i INT DEFAULT 1;
a:WHILE i<=insertCount DO
INSERT INTO admin(username,’password’) VALUES(‘CONTACT(No+i),666);
SET i=i+1;
IF i>=20 THEN LEAVE/ITERATE a;
END IF;
END WHILE a;
END *

LOOP

LOOP*
循环体
END LOOP 标签;

REPEAT

REPEAT
循环体
UNTIL 结束循环的条件

返回索引

Mysql 基础 目录链接

原网站

版权声明
本文为[Dhaa_Ryan]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_46207392/article/details/114071708