mysql 流程控制语句,mysql PL(procedure language)流程控制语句
在MySQL中,常见的过程式SQL语句可以用在存储体中。其中包括IF语句、CASE语句、LOOP语句、WHILE语句、ITERATE语句和LEAVE语句,它们可以进行流程控制。
IF语句相当于Java中的if()...else if()...else...
CASE语句相当于Java中的switch()...case A:...break;default...
LOOP语句相当于Java中的while(true){...}
while语句相当于Java中的while(条件){...}
REPEAT语句相当于Java中的do{...}while(条件)
LEAVE语句相当于Java中的 break; 配合LOOP使用
当REPEAT出现在LOOP、REPEAT、WHILE语句中的时,相当于Java中的continue;
1. IF语句
列一:
DELIMITER//
CREATE PROCEDURE example_if(IN X INT)
BEGIN
IF X=1 THEN
SELECT 1;
ELSEIF X=2 THEN
SELECT 2;
ELSE
SELECT 3;
END IF;
END
//
注意这里的selimiter//后面的 “//”和最后的 “//”
这样在当前数据库中究生成了过程控制函数example_if(x)
使用流程为
CALL example_if(6);
2. CASE语句
列二:
DELIMITER//
CREATE PROCEDURE example_case(IN X INT)
BEGIN
CASE X
WHEN 1 THEN SELECT 1;
WHEN 2 THEN SELECT 2;
ELSE SELECT 3;
END CASE;
END
//
这样在当前数据库中究生成了过程控制函数example_case(x)
使用:
CALL example_case(7);
3. WHILE语句
列三:
DELIMITER//
CREATE PROCEDURE example_while(OUT SUM INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
WHILE i<=100 DO
SET s=s+i;
SET i=i+1;
END WHILE;
SET SUM=s;
END
//
这样在当前数据库中究生成了过程控制函数example_while(x)
调用:
CALL example_while(@a);
SELECT @s;
4. LOOP语句
列四:
DELIMITER//
CREATE PROCEDURE example_loop(OUT SUM INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
loop_label:LOOP
SET s=s+i;
SET i=i+1;
IF i>100 THEN
LEAVE loop_label;
END IF;
END LOOP;
SET SUM=s;
END
//
这里的leave label相当于java中的break;
调用:
CALL example_loop(@s);
SELECT @s;
5. REPEAT语句
列五:
DELIMITER//
CREATE PROCEDURE example_repeat(OUT SUM INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
REPEAT
SET s=s+i;
SET i=i+1;
UNTIL i>100
END REPEAT;
SET SUM=s;
END
//
调用:
CALL example_repeat(@s);
SELECT @s;
mysql 流程控制语句,mysql PL(procedure language)流程控制语句相关推荐
- MySql 学习笔记-Mysql架构介绍与查询sql执行流程
最近花了99元大洋在极客时间 买了 MySQL 实战45讲.学习的同时留下点笔记.该内容仅仅是个人总结笔记,如有涉及版权还请告知. MySql 的简介 MySQL是一个关系型数据库管理系统,由瑞典My ...
- [MySQL 5.6] MySQL 5.6 group commit 性能测试及内部实现流程
[MySQL 5.6] MySQL 5.6 group commit 性能测试及内部实现流程 http://mysqllover.com/?p=581 尽管Mariadb以及Facebook在long ...
- MySQL第一讲-mysql的基本框架和查询命令流程
MYSQL的结构 MySQL 的基本架构示意图 总体来说,MySQL 可以分为 Server 层和存储引擎层两部分. Server 层包括 连接器.查询缓存.分析器.优化器.执行器等, 涵盖 MySQ ...
- MySQL中SQL生命周期与执行流程
[1]MySQL执行流程 从MySQL的逻辑架构来看,如下图所示. 这里首先我们分析一下查询缓存,其在MySQL8中已经被抛弃. ① 查询缓存 Server如果在查询缓存中发现了这条SQL语句,就会直 ...
- MySQL下载安装配置完整教程(详细流程)
一.首先附上MySQL官网连接 MySQL官网超链接 二.点击图片中圈出的地方(DOWNLOADS) 三.鼠标下拉到最下面点击MySQL Community(GPL) DOWNLOADS 四.点击圈出 ...
- PL/SQL 处理流程
P249 -P254 oracle8i_9i数据库基础--查看本号百度文库 ***********PL/SQL 简介*************** 1.PL/SQL 是过程语言(Procedural ...
- java循环控制语句,简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别。...
简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别. 答:for语句,构建确定循环次数的循环结构 while语句,通常构建不确定循环次数的循环结构 do-while语句,通常构建不确定循 ...
- MySQL数据库教程天花板,mysql安装到mysql高级,强|硬
MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业 ...
- MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版(自用不可外传)
文章目录 MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 2. 数据库与数据库管理系统 2.1 数据库的相关概念 3. RDBMS与非RDBMS 3. ...
最新文章
- linux root------系统排错
- Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)
- 前端学习(628):数字类型
- AndroidJava保留小数位数的几种写法
- PdfJS使用的一些说明
- ILSpy 反编译的一个工具,用于以后的使用
- 【GIT】git 提交代码正确步骤
- iOS 开发全能工具箱
- 密码学|离散对数问题、计算量较大的二次方程求解(sagemath与python z3库的使用)
- 深度学习车辆检测实现自动驾驶
- linux 汇编 preserve8,ARM汇编伪指令
- Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...
- js-js数据结构和算法-树
- AR增强现实 Augmented Reality
- Tapd 、Jira、Tower对比
- 好系统U盘启动教你win7系统如何用cleartype来设置字体
- 在Ranger policies中Deny-conditions 和excludes介绍
- 《炬丰科技-半导体工艺》多通道晶圆缺陷检测方法
- 不成熟的c语言练习1
- SemEval 介绍
热门文章
- 面向大数据与云计算调度挑战的阿里经济体核心调度系统
- Auto-Keras与AutoML:入门指南
- 使用Numpy和Opencv完成图像的基本数据分析(Part III)
- 知道这些用于数据科学和机器学习的GitHub存储库和Reddit主题吗?
- API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务
- 云+X案例展 | 民生类:基于AWS PaaS构建基础集团企业级中台
- 被嫌弃的互联网的 “一生”(上)
- 百度积极回应阿波龙项目不实报道;半数开发者认为学习新语言很困难;腾讯在长沙建立首个智慧产业总部……...
- 5G 来了,我们可以做什么?
- 教师节 | 程序员都这么玩,你敢挑战吗?