ui做的好的网站有哪些内容,wordpress搬家dz论坛,视频剪辑培训班学费一般多少,wordpress支持PHP吗1、流程控制
解决复杂问题不可能是通过一个SQL语句完成#xff0c;我们需要执行多个SQL操作。流程控制语句的作用就是控制存储过程中SQL语句的执行顺序#xff0c;是我们完成复杂操作必不可少的一部分。只要是执行的程序#xff0c;流程就分为三大类#xff1a; 1、顺序结…1、流程控制
解决复杂问题不可能是通过一个SQL语句完成我们需要执行多个SQL操作。流程控制语句的作用就是控制存储过程中SQL语句的执行顺序是我们完成复杂操作必不可少的一部分。只要是执行的程序流程就分为三大类 1、顺序结构程序从上往下依次执行 2、分支结构程序按条件进行选择执行从两条或多条路径中选择一条执行。 3、循环结构程序满足一定条件重复执行一组语句。
针对MySQL的流程控制语句主要有三类。注意只能用于存储程序存储过程和函数 1、条件判断语句IF语句和Case语句 2、循环语句Loop、While、Repeat语句 3、跳转语句leave、Iterate语句
1.1 分支结构
程序按条件进行选择执行从两条或多条路径中选择一条执行。1.1.1 IF条件判断
1、语法结构
If 表达式1 Then 操作1;
[elseif 表达式2 Then 操作2;]...
[else 操作n;]
End if;2、特点 1不同的表达式对应不同的操作 2使用在Begin…End中 3、案例实操
1.1.2 Case条件判断
1、语法结构
#情况1类似于switch
Case 表达式
When 值1 Then 结果1或语句1(如果是语句需要加分号)
When 值2 Then 结果2或语句2(如果是语句需要加分号)
...
Else 结果n或语句n(如果是语句需要加分号)
End [Case] (如果是放在Begin End中需要加上Case如果放在select后面不需要)案例实操
#情况二类似多重if
Case
when 条件1 Then 结果1或语句1(如果是语句需要加分号)
When 条件2 Then 结果2或语句2(如果是语句需要加分号)
...
Else 结果n或语句n(如果是语句需要加分号)
End [case] (如果是放在Begin...End 中需要加上case如果放在select后面不需要)案例实操
1.2 循环结构
1.2.1 Loop循环结构、还是个死循环
Loop循环语句用来重复执行某些语句。Loop内的语句一直重复执行直到循环被退出使用Leave子句跳出循环过程。 1、语法结构
循环别名:loop循环体循环条件End Loop 循环别名2、案例实操1加到10的和 1.2.2 While循环结构
While语句创建一个带条件判断的循环过程。While在执行语句执行时先对指定的表达式进行判断如果为真就执行循环内的语句否则就退出循环。 1、语法结构
[while_label:] While 循环条件 Do循环体
End While[while_label];说明while_label为While语句的标注名称如果循环条件为真While语句内的语句或语句群被执行直至循环条件为假退出循环条件。
2、案例实操本次实操没有给While循环取别名 1加到10的和
1.2.3 repeat循环结构
Repeat语句创建一个带条件判断的循环过程。和While循环不同的是Repeat循环首先会执行一次循环体然后在Until中进行表达式的判断如果满足条件就退出即End Repeat如果条件不满足在则会继续执行循环直到满足退出条件为止。
1、语法结构
Repeat
循环体
Until 结束循环的条件表达式
end Repeat[repeate_lable];2、案例实操1加到10的和
1.3 跳转语句
1.3.1 Leave语句和java中break类似
Leave语句可以用在循环语句中或这Begin和End包裹起来的程序体内表示跳出循环或者跳出循环体。 1、语法结构
Leave 标记名;2、案例实操 看循环结构Loop的实例
1.3.2 Iterate语句和java中Continue类似
Iterate语句只能用在循环语句Loop、While、Repeat语句内表示重新开始循环将执行顺序转到语句段的开头。 1、基本语法
Iterate label;2、案例实操
mysql DELIMITER //
mysql CREATE PROCEDURE test_loop1() - BEGIN - DECLARE num INT DEFAULT 1; - DECLARE bSum INT DEFAULT 0; - LOOP - SET bSum bSum num; - IF num 8 THEN - ITERATE; - END IF; - SET num num 1; - IF num 10 THEN - LEAVE; - END IF; - END LOOP; - SELECT bSum; - END //
Query OK, 0 rows affected (0.00 sec)
mysql DELIMITER ;
mysql CALL test_loop1(); ±----- | bSum | ±----- | 43 | ±----- 1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
2、游标
2.1 什么是游标
虽然我们也可以通过筛选条件 WHERE 和HAVING或者是限定返回记录的关键字 LIMIT 返回一条录 但是却无法在结果集中像指针一样向前定位一条记录、向后定位一条记录或者是 随意定位到某一 条记录 并对记录的数据进行处理。
这个时候就可以用到游标。游标提供了一种灵活的操作方式让我们能够对结果集中的每一条记录 进行定位并对指向的记录中的数据进行操作的数据结构。游标让 SQL 这种面向集合的语言有了面向过 程开发的能力。
在 SQL 中游标是一种临时的数据库对象可以指向存储在数据库表中的数据行指针。这里游标 充当了指针的作用 我们可以通过操作游标来对数据行进行操作。
案例实操