[TOC]
# 语句块包含符
其实就是相当于js或php中大括号语法:
~~~
[标识符:]begin
//语句。。。。
end [标识符];
标识符就是定义定义的任意的名字而已,比如:
~~~
~~~
if (条件判断)
begin
//。。。。
end;
end if;
if (条件判断)
A:begin
//。。。。
end A;
end if;
~~~
A就是标识符,它的作用是“标识”该语句块,以期可以在该语句块中“使用它”——其实就是退出;
# case语句
语法1示意代码:
case @v1
when 1 then //如果@v1 等于 1,则表示满足条件,进入这个分支;
begin
//.......
end;
when 2 then
begin
//........
end;
else
begin
//......
end;
end case;
说明:
@v1表示一个变量;后面都这样。
语法2示意代码:
case
when @v1 > 0 then //如果该条件满足,就执行这个分支,否则就继续判断下一个条件。。。
begin
//......
end;
when @v1 < 0 then
begin
//.....
end;
else
begin
//......
end;
end case;
# loop循环
标识符:loop
begin
//这里就是循环的语句块。。。
//注意:这里必须有一个“退出循环”的逻辑机制;否则该循环就是死循环,其基本形式类似这样:
if (条件) then
leave 标识符; //退出;
end if;
end;
end loop 标识符
# while循环
set @v1 = 1; //赋值语句;
while @v1 < 10 do
begin
insert into tab1 (id, num) values ( null, @v1 );
set @v1 = @v1 + 1;
end;
end while;
# repeat循环
set @v1 = 1; //赋值语句;
repeat
begin
insert into tab1 (id, num) values ( null, @v1 );
set @v1 = @v1 + 1;
end;
until @v1 >= 10
end repeat;
# leave语句
语法:leave 标识符;
作用:用来退出begin...end结构或其他具有标识符的结构。
# if语句
If分支
基本语法
If在Mysql中有两种基本用法
1、用在select查询当中,当做一种条件来进行判断
基本语法:if(条件,为真结果,为假结果)
![](https://box.kancloud.cn/c58e75df4e4c88441fc443e90e847762_1792x646.jpg)
2、用在复杂的语句块中(函数/存储过程/触发器)
基本语法
~~~
If 条件表达式 then
满足条件要执行的语句;
End if;
~~~
复合语法
复合语法:代码的判断存在两面性,两面都有对应的代码执行。
基本语法:
If 条件表达式 then
满足条件要执行的语句;
Else
不满足条件要执行的语句;
//如果还有其他分支(细分),可以在里面再使用if
If 条件表达式 then
//满足要执行的语句
End if;
End if;