mysql代码执行结构实例分析【顺序、分支、循环结构】
作者:随风行云 发布时间:2024-01-21 23:18:40
本文实例讲述了mysql代码执行结构。分享给大家供大家参考,具体如下:
本文内容:
什么是代码执行结构
顺序结构
分支结构
循环结构
首发日期:2018-04-18
什么是代码执行结构:
这里所说的代码执行结构就是多条sql语句的执行顺序。
代码执行结构主要用于触发器、存储过程和函数等存储多条sql语句中。
顺序结构:
顺序结构就是从上到下依次执行sql语句
一般默认情况下都是顺序结构
分支结构:
分支结构的执行是依据一定的条件选择执行路径,它会依据我们给定的条件来选择执行那些sql语句
mysql中分支结构只有if-else:
语法:
if 条件 then sql语句[elseif 条件 then sql语句][else sql语句]end if;
示例:
-- create table pass(id int primary key auto_increment,name varchar(15),score int );create table unpass(id int primary key auto_increment,name varchar(15),score int);-- 使用存储过程来create procedure myif(in name varchar(15),in score int)begin if score >=60 then insert into pass(name,score) values(name,score); else insert into unpass(name,score) values(name,score); end if;end;-- 调用,并查看结果call myif("lilei",61);call myif("hanmeimei",95);select * from pass;select * from unpass;call myif("tuhao",59);select * from unpass;
if中的条件基本可以参照select语句的while子句的条件。什么in\not in \= \!= 等都可以用。
create procedure myif3(in a char(1))begin if a in('a','b') then select 1; else select 2; end if;end;call myif3('a');call myif3('b');call myif3('c');
补充:
理论上,如果做出判断不符合,然而又不想继续执行下去的时候,应该执行返回(比如C语言的return来中断函数运行),但mysql中并没有对应的中断机制,所以需要我们主动中断(中断的方法有很多种,比如执行一条符合语法但无法运行的语句)【这种场景比如有:判断一名学生是否存在,不存在就不执行任何操作,所以应该执行一条无法成功运行的语句来报错返回。】
事实上,还存在一种分支结构:case when 【好像好多书都没怎么讲到,所以这里不讲述。有兴趣的可以自行百度。】
循环结构:
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。mysql中循环结构用于循环多次运行同一sql语句。
mysql中的循环结构有loop结构、while结构、repeat结构,这里只讲述while结构,有兴趣了解其他的可以自行百度。
语法:
while 条件 do
sql语句
end while;
学过其他语言的可能会了解到循环结构中有continue(提前结束此次循环)和break(跳出整个循环)
在mysql的循环结构中,使用leave来代替break,使用iterate来代替continue,但它们的使用语法是:leave\iterate 循环名,所以如何定义循环名呢?
循环名:while 条件 do sql语句; leave\iterate 循环名;end while;
示例:
-- 无意义的一个例子,仅作演示create table whilenum(id int);-- 自带条件的create procedure mywhile()begin declare num int; set num=10; c1:while num>0 do insert into whilenum values(num); set num=num-1; end while;end;-- 以传入参数作为条件的create procedure mywhile2(in num int)begin c1:while num>0 do insert into whilenum values(num); set num=num-1; end while;end;-- 带中断的create procedure mywhile3(in num int)begin c1:while num>0 do if num%2=0 then set num=num-1; iterate c1; end if; insert into whilenum values(num); set num=num-1; end while;end;
希望本文所述对大家MySQL数据库计有所帮助。
来源:https://www.cnblogs.com/progor/p/8874644.html


猜你喜欢
- 进入python的安装目录, 查看python解释器进入bin目录 # ls python(看一下是否有python解释器版本) # pwd
- 在Python的学习过程中,肯定会遇到很多安装模块的地方,可以使用easy_install安装,但是easy_install相对于pip而言
- 前言我们见到几乎所有的 Web 网站或者手机 App 也好,它们的最终目的都是要留住用户,提升自己网站的用户注册量,所以说用户的概念也必须深
- 本文实例讲述了Python实现矩阵转置的方法。分享给大家供大家参考,具体如下:前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个
- 一 实战1 Django_lab\urls.py# -*- coding: utf-8 -*-from django.c
- ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件MicrosoftOLEDBProvid
- 在GUI编程中有一个不容忽视的部分,那就是布局管理。布局管理掌控着我们的控件在应用程序窗口如何摆放。布局管理可以通过两种方式来完成。我们可以
- SQL2005增加了4个关于队计算的函数:分别是ROW_NUMBER,RANK,DENSE_RANK,NTILE. 注意:这些函数
- 段落已经讲完了,那么一些基本的应用方式也讲了一些,那么是否已经应用了呢?当然应用可以更为丰富,那么这些就需要自己在实际工作中不断的摸索与思考
- 使用base64对图片的二进制进行编码并用ajax进行显示有时候我们需要动态的将图片的二进制在页面上进行显示,如我们需要弄一个验证码的功能,
- 本文是总结的一点经验之谈啥是data-key微信小程序推出 data- 属性——自定义属性,为了更好的进行数据传递。总结来说,data-ke
- 本来想控制鼠标自动移动防止公司电脑自动休眠的策略,然而,实现了并没什么卵用,还是会休眠。但还是分享出来吧。win10的系统。首先要安装几个第
- QQ通过返回不同的图片,来表示在线或离线,图标也随之变换,既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不
- 使用 sorted() 函数使用 sorted() 函数对字典进行排序,将其转换为元组列表,再按照指定的键或者值进行排序。按照键排序的示例代
- 例子一:Python用WMI模块获取windowns系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位
- 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户的年龄,根据年龄打印不同的内容。。。Python程序中,能让计算机
- 太长不看的简洁版本1.x = np.arange(start, end, steps)Values are generated within
- requests的SSL证书验证1、对于HTTPS默认情况下,启用SSL验证,如果无法验证SSL证书会导致:requests.excepti
- 最近在研究python调度框架APScheduler使用的路上,那么今天也算个学习笔记吧!# coding=utf-8""
- 题目描述输入一行或多行字符串密码,验证每行密码是否符合规范,符合提示“OK”,否则“NG”。密码规范为:1.长度超过8位2.包括大小写字母.