1.语句块包含符:相当于js或php中的大括号语法:
【标识符:】begin
//语句
end 【标识符】;
标识符就是定义的任意的名字,比如:
If(条件判断)
A:begin
//语句
end A;
A就是标识符,作用是标识该语句块,以期可以在该语句块中使用它---其实就是退出
2.流程控制语句
If语句:
If(条件判断) then
begin
//语句
end;
else if(条件判断)then
begin
//语句
end;
end if
Case语句:相当于switch……case语句,语句块用beginend结构包起来
形式一:
Case case_value
When when_value then 语句块
【When when_value then 语句块】
【else 语句块】
End case;
示意:
Case @v1(表示一个变量)
When 1 then
Begin
//语句
End;
When 2 then
Begin
//语句
End;
Else
Begin
//语句
End;
End case;
形式二:
Case
When 条件语句 then 语句块
【When 条件语句 then 语句块】
【else 语句块】
End case;
示意:
Case
When @v1>0 then
Begin
//语句
End;
When @v1<0then
Begin
//语句
End;
Else
Begin
//语句
End;
End case;
Loop循环语句:
标识符:loop
循环语句块(必须有退出循环的逻辑机制,如:
If 条件 then
Leave 标识符;
End if;)
End loop 标识符;
While语句
【标识符:】while 条件 do
语句块
End 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语句
【标识符:】repeat
循环语句块
Until 循环条件
End repeat 【标识符】
举例:
Set @v1=1;//赋值语句
repeat
Begin
Insert into tab1 (id,num)values(null,@v1);
Set @v1=@v1+1;
End;
Until @v1>9;
End repeat;
Leave语句:
Leave 标识符;//用来退出begin end结构或其他具有标识符的结构
3.变量
有两种变量形式:
普通变量:不带@符号;
定义形式:declare 变量名类型名 【default 默认值】;//普通变量必须先这样定义
赋值形式:Set 变量名=值;
取值:直接使用变量名
使用场所:只能在编程环境(定义函数的内部、定义存储过程的内部、定义触发器的内部)中使用
会话变量:带@符号;
定义形式:
Set@变量名=值;//跟php类似,无须定义,直接赋值
取值:直接使用变量名
使用场所:基本上哪里都可以用
变量赋值的其他形式:
Select @变量名:=表达式;//给变量赋值,并作为结果集输出
Select 表达式 into @变量名;//只是给变量赋值,不输出结果集