搜索
首页
笔记
案例
关于
课程列表
MySQL
数据库操作
数据表操作
Mysql列类型及列属性
MySQL常用函数
MySQL增删改
MySQL查询
JOSN的支持
MySQL流程控制语句
视图
存储过程及存储函数
变量与游标
事务
触发器
权限及安全管理
MySQL日志
二进制日志
Mysql5.7复制功能
数据备份与恢复
性能优化
课程导航
计算机基础知识
C
Linux
linux常用软件
计算机网络
程序员修养
设计模式
工具
Git
composer
vim
IntelliJ IDEA
wireshark
laravel
Spring
SpringMVC
Maven
数据库
MySQL
Redis
MongoDB
JDBC
Mybatis
MyBatis-Plus
服务端编程
PHP
Java
shell script
JavaWeb
HTML / CSS
HTML
CSS
HTML5
CSS3
BOOTSTRAP
JavaScript
JavaScript
JQuery
layui
JOSN的支持
视图
MySQL流程控制语句
## if语句 ### 语法 IF CONDITION THEN ... [ELSEIF CONDITION THEN] ... [ELSE] ... END IF ### 实践 ``` CREATE PROCEDURE test_if(IN x INT) BEGIN IF x>30 THEN SELECT 3; ELSEIF X>20 THEN SELECT 2; ELSEIF X>10 THEN SELECT 1; ELSE SELECT 0; END IF; END ``` ## case语句 ### 语法 1.CASE VALUE WHEN V1 THEN ... [WHEN V2 THEN ...] [ELSE ...] END CASE 2.CASE WHEN V1 THEN ... [WHEN V2 THEN ...] [ELSE ...] END CASE ### 实践 ``` CREATE PROCEDURE test_case1(IN score TINYINT(3)) BEGIN CASE FLOOR(score/10) WHEN 10 THEN SELECT '优秀'; WHEN 9 THEN SELECT '优秀'; WHEN 8 THEN SELECT '良好'; WHEN 7 THEN SELECT '一般'; WHEN 6 THEN SELECT '及格'; ELSE SELECT '不及格'; END CASE; END ``` ## while语句 ### 语法 WHILE condition DO 循环体 END WHERE; ### 实践 ``` CREATE PROCEDURE test_while() BEGIN declare num INT DEFAULT 1; declare sum INT DEFAULT 0; WHILE num <= 100 DO SET sum = sum + num; SET num = num + 1; END WHILE; SELECT sum; END ``` ## LOOP,LEAVE和ITERATE语句 有两个语句允许您用于控制循环: LEAVE语句用于立即退出循环,而无需等待检查条件。LEAVE语句的工作原理就类似PHP,C/C++,Java等其他语言的break语句一样。 ITERATE语句允许您跳过剩下的整个代码并开始新的迭代。ITERATE语句类似于PHP,C/C++,Java等中的continue语句。 MySQL还有一个LOOP语句,它可以反复执行一个代码块,另外还有一个使用循环标签的灵活性。 ### 实践 ``` BEGIN DECLARE sum INT DEFAULT 0; DECLARE i INT DEFAULT 0; -- 计算100以内和 l:LOOP SET i = i + 1; SET sum = sum + i; IF i >= 100 THEN LEAVE l; END IF; END LOOP l; SELECT sum; END ``` ``` BEGIN DECLARE sum INT DEFAULT 0; DECLARE i INT DEFAULT 0; -- 计算100以内奇数和 l2:LOOP IF (i < 100) THEN SET i = i + 1; IF (i\%2) THEN SET sum = sum + i; ELSE ITERATE l2; END IF; ELSE LEAVE l2; END IF; END LOOP l2; SELECT sum; END ``` ## repeat语句 ### 语法 REPEAT 循环体 UNTIL condition END REPEAT ### 实践 ``` CREATE PROCEDURE test_repeat() BEGIN declare num INT DEFAULT 1; declare sum INT DEFAULT 0; REPEAT SET sum = sum + num; SET num = num + 1; UNTIL num > 100 END REPEAT; SELECT sum; END ```
JOSN的支持
视图
文章目录