流程结构
流程结构:代码的执行顺序
If分支
If在Mysql中有两种基本用法
1、 用在select查询当中,当做一种条件来进行判断
基本语法:
if(条件,为真结果,为假结果)
ifnull(expr1,expr2); --如果expr1不是NULL,ifnull()返回expr1,否则它返回expr2。
2、 用在复杂的语句块中(函数/存储过程/触发器)
基本语法:
if 条件表达式 then
满足条件要执行的语句;
end if;
复合语法
复合语法:代码的判断存在两面性,两面都有对应的代码执行。
基本语法:
if 条件表达式 then
满足条件要执行的语句;
else
不满足条件要执行的语句;
--如果还有其他分支(细分),可以在里面再使用if
if 条件表达式 then
满足条件要执行的语句
end if;
end if;
case判断
更新:
update table
set 字段1=case
when 条件1 then 值1
when 条件2 then 值2
else 值3
end
where ...
查询:
select 字段1, 字段2,
case 字段3
when 值1 then 新值
when 值2 then 新值
end as 重新命名字段3的名字
from table
where ...
While循环
循环体都是需要在大型代码块中使用
基本语法:
while 条件 do
要循环执行的代码;
end while;
结构标识符
结构标识符:为某些特定的结构进行命名,然后为的是在某些地方使用名字
基本语法:
标识名字: while 条件 do
循环体
end while [标识名字];
标识符的存在主要是为了循环体中使用循环控制。在mysql中没有continue和break,有自己的关键字替代:
Iterate:迭代,就是以下的代码不执行,重新开始循环(continue)
Leave:离开,整个循环终止(break)
基本语法:
标识名字: while 条件 do
if 条件判断 then
循环控制;
iterate/leave 标识名字;
end if;
循环体
end while [标识名字];