-
2019-11-05 11:48:38
MySQL WHILE和LOOP和REPEAT循环的用法区别 MySQL三种循环的区别 MySQL循环使用方法
一、MySQL循环概述
MySQL中有三种循环,分别是 WHILE , REPEAT , LOOP (据说还有 goto),不可单独使用,主要用于 存储过程 PROCEDURE 和 函数 FUNCTION 中。
二、WHILE 循环
1、语法: WHILE condition DO doSomething END WHILE ;
2、说明: condition 条件满足情况下,则执行循环体内容,不满足,则结束循环。(如:2>1,满足;1<2,不满足。) --- 先判断,后执行。
3、示例: 创建 while 循环的存储过程 pro_while
DROP PROCEDURE IF EXISTS pro_while ; CREATE PROCEDURE pro_while() BEGIN DECLARE sum INT DEFAULT 0 ; WHILE sum < 100 DO INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) VALUES (CONCAT(sum,''),CONCAT('while',sum) , sum); SET sum = sum + 1; END WHILE ; END;
4、调用存储过程: CALL pro_while();
三、REPEAT 循环
1、语法: REPEAT doSomething UNTIL condition END REPEAT ;
2、说明:doSomething 先执行相关操作 ,再判断是否满足条件,满足,结束循环。(和WHILE循环相反) --- 先执行,后判断。
3、示例:创建 repeat 循环的函数 fun_repeat
DROP FUNCTION IF EXISTS fun_repeat ; CREATE FUNCTION fun_repeat() RETURNS INT BEGIN DECLARE sum INT DEFAULT 1000 ; REPEAT INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) VALUES (CONCAT(sum,''),CONCAT('repeat',sum) , sum); SET sum = sum + 1; UNTIL sum > 1100 END REPEAT ; -- 满足条件结束循环 RETURN 1; END;
4、执行函数: SELECT fun_repeat();
四、LOOP 循环
1、语法:
loop_name : LOOP IF condition THEN LEAVE loop_name ; END IF; doSomething END LOOP;
2、说明:
- loop_name 为循环名字,自定义,不可用关键字。
- doSomething 执行的相关操作。
- condition 满足条件,则结束循环。--- 先判断,后执行。
3、示例:创建 loop 循环的存储过程 pro_loop
DROP PROCEDURE IF EXISTS pro_loop ; CREATE PROCEDURE pro_loop() BEGIN DECLARE sum int DEFAULT 10000 ; loop_sums : LOOP -- 【开始】loop 名字,自定义 IF sum > 10100 THEN LEAVE loop_sums ; -- 满足条件,则结束循环 END IF; INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) VALUES (CONCAT(sum,''),CONCAT('loop',sum) , sum); SET sum = sum + 1; END LOOP ; -- 【结束】 END ;
4、调用存储过程: CALL pro_loop();
五、总结
1、WHILE 循环,先判断,后执行。满足条件,执行,执行循环。
2、REPEAT 循环,先执行,后判断。满足条件,不执行,结束循环。
3、LOOP 循环,先执行,后判断。满足条件,不执行,结束循环。
4、当条件为false时,REPEAT循环也能执行一次,类似于 java中的 do {} while (condition); 循环; 而 WHILE、LOOP 循环无法执行。
5、以上为本人自己总结的,若有失误,欢迎指正,感谢! ^_^。
了解更多...
MyBatis调用存储过程,MyBatis调用函数的使用方法
MySQL WHILE和LOOP和REPEAT循环的用法区别 MySQL三种循环的区别 MySQL循环使用方法
更多相关内容 - loop_name 为循环名字,自定义,不可用关键字。
-
JS forEach和map方法的用法与区别分析
2020-10-17 08:47:07主要介绍了JS forEach和map方法的用法与区别,结合实例形式分析了forEach和map方法的功能、原理、使用方法及相关操作注意事项,需要的朋友可以参考下 -
can和may的区别及用法
2021-03-18 14:42:01can和may都是情态动词,后面必须跟动词原形,形成谓语动词...can和may的区别1、语气不同:在两者在通用的情况下,may比can显得客气一些。例句:Can you speak clearly? 你能说的清楚些么?This may not be true. 这也...can和may都是情态动词,后面必须跟动词原形,形成谓语动词。can可以用来表示一个人做某事或谈论任何可能性的能力。另一方面,may习惯于接受或给予他人许可。此外,当有很强的可能性时,也可以使用它。
can和may的区别
1、语气不同:在两者在通用的情况下,may比can显得客气一些。
例句:
Can you speak clearly? 你能说的清楚些么?
This may not be true. 这也许不正确。
2、应用场景不同: 在征求对方的意见时,用may较多;在询问客观上是否"可以"时, 用can更好一些。
例句:
May I go now? 我可以现在走吗?
Can we take the books out? 我们可以把书带走吗?
3、含义不同:“can”这个词意思是“能够”,它表示一个人的能力;may习惯于接受或给予他人许可,当有很强的可能性时,也可以使用它。
例句:
Team A can win this match. A队能赢得这场比赛。
May I go outside? 我可以出去么?
can的用法:
1、表示有能力做某事,意为“能、会”。如:
The girl can sing in English.
2、表示许可,意为“可以”,如:
You can drive my car to the post office.
3、表示推测,意为“也许,可能”。如:
He can’t be your brother, you don’t look the same.
may的用法:
1、表示请求,语气比can弱。如:
–May I use your eraser?
– Certainly. But you must give it back to me soon.
2、表示推测,意为“也许,可能”。如:
She may be at home. Let’s go to see him.
-
can could 的区别与用法
2020-12-20 14:47:10can的过去式是could,但could 除了可作can的过去式外,还可表...can和could的区别1、can 表示现在的能力,could 表示过去的能力。例句:He can speak a little English now.She could play the piano when she was f...can的过去式是could,但could 除了可作can的过去式外,还可表比can更委婉的语气,因此在回答由could
表示请求的问句中,不能用could,但可用can。
can和could的区别
1、can 表示现在的能力,could 表示过去的能力。
例句:
He can speak a little English now.
She could play the piano when she was five.
2、在表示请求许可时,没有时间区别,在语气上could 更加委婉客气。
例句:
Can I use your pen ?
Could I have a look at your book ?
3、在表示可能性方面,没有时间区别,can 可能性比could 大;表示逻辑上或理论上的可能性,而不是某种实际上将要发生或正在发生的可能性。
例句:
Can it be true? 这会是真的吗?
Anybody can make mistake.任何人都可能犯错误。
The weather here could be very cold in winter. 冬天这的天气有时很冷。
4、在下面几种情况时只能用Could
(1)虚拟语气里面只能用could
例句:
If it had not rained so hard yesterday we could have played tennis.
本该去打球的,但由于下雨没去
(2)表示委婉的时候 只能用could
例句:Could I use your pen?(不知道对方是否借钢笔,很委婉的请求)
(3)表示建议和忠告,只能用could
例句:
Could you give me a suggestion about learning english?
你能给我一条学英语的建议吗?
情态动词can的用法
1、表示能力,意思是:能,会。
例句:
I can't swim. 我不会游泳。
2、表示客观可能性,意思是:可以,可能。
例句:
That big cinema can seats 2,000 people.那家大电影院能坐2000人。
3、表示允许(和may意思相近),意思是:可以,能够。
例句:
You can have the book when I have finished it.书我看完了可以给你。
4、表示惊异、不相信等(用于疑问句、否定句或感叹句中),意思是:会,可能。
例句:
This can't be true.这不可能是真的。
情态动词could的用法
1、表示“能力”或“可能性”,作为can的过去形式。
例句:
Could you speak English then?那时你能讲英语吗?
2、表示惊异、怀疑、不相信等情绪。
例句:
Who could have taken them?谁会把它们拿走了呢?
在这种情况下,could和can是可以换用的,用could时口气较缓和,用can时不相信的程度更强一些,两者在时间上没有差别。
3、比较委婉客气地提出问题或陈述看法。
例句:
I could come earlier,if necessary.如果必要我可以早点来。
这时could和can没有时间上的差别.
4、在虚拟条件句中构成谓语。
例句:
I would certainly do it for you if I could.要是我能做得到,我一定会为你们做这事儿。
-
p标签和div标签的区别与用法
2021-06-14 02:37:28前面介绍过span与div区别,在html布局中p标签同样也是常用的标签,那p标签与div标签区别是什么,怎么选择使用与用法?一、css属性区别1、结构不同div和p均是一对开始与闭合标签。div以开始,以结束的一对标签。p以...前面介绍过span与div区别,在html布局中p标签同样也是常用的标签,那p标签与div标签区别是什么,怎么选择使用与用法?
一、css属性区别
1、结构不同
div和p均是一对开始与闭合标签。
div以
开始,以结束的一对标签。p以
开始,以
结束的一对标签。2、名称不同
div是布局框架标签;
p是段落标签,布局文章标签。
3、div与p基本css属性
div与p均独占一行的块元素标签,唯一区别,p自带有一定margin-top和margin-bottom属性值,而div两个属性值为0,也就是两个p之间有一定间距,而div没有。
div上下没有间隔间距,而p有。
p自带间隔一行的间距,而div没有上下间隔间距
从上实例图看见div与p之间在于间隔。而p间隔是受line-height行高影响,行高小那么p上下间距就小,行高值大,那么上下段落p间隔就大。
二、框架布局
在布局html重构时候,div主要用于布局框架,大小结构布局均使用div来布局。
div用于布局框架
一般布局均使用div标签布局。
三、内容布局
布局内容,布局文章时候,文章分段,均采用p标签。
布局文章采用p比较多
四、局部内容布局
当然有时布局只有一段文字地方,可采用div也可采用p标签,如果采用p标签,但不需要p自带上下间距,这个时候我们就需要确定p自带上下间距,设置CSS:
.abc p{margin-top:0;margin-bottom:0}
这样即可确定class=abc对象内p上下间距为0.
css取消p标签上下间距
CSS5建议:普通结构框架布局使用div布局,文章段落采用p标签布局。这样根据标签功能使用标签,尽量做到不滥用标签规范使用html标签元素。
-
call和called的区别和用法
2020-12-22 00:23:02匿名用户1级2018-11-06 回答1、called和call都是同源单词,called可以看做是call的派生词,二者意思相近,形式和用法都不同,即called是call的过去式或过去分词形式。2、call的用法call既可用作动词,又可用作名词。... -
before和after区别 after的用法
2020-12-21 21:20:49before和after区别 after的用法before和after区别 after的用法相关问题:匿名网友:一、意思不同1、before作连词意思是在 ... 以前。作介词意思是在 ... 以前;在..前面。作副词意思是以前;以往;之前。2、after作... -
函数指针和指针函数用法和区别
2018-05-24 08:11:10函数指针和指针函数,在学习 C 语言的时候遇到这两个东西简直头疼,当然还有更头疼的,比如什么函数指针函数、指针函数指针、数组指针、指针数组、函数指针数组等等,描述越长其定义就越复杂,当然理解起来就越难,... -
some 和 every的区别和用法
2022-02-22 14:30:06some 和 every的区别和用法 相同点:every和some都有三个参数,即item-当前项,index-当前项的索引值,array-数组本身;都可循环遍历数组 不同点:every相当于逻辑关系中的且,只有所有参数都满足条件时,才返回true... -
指针函数与函数指针的用法与区别
2019-09-16 19:50:54一、区别 1、指针函数:指的就是返回值是指针的函数,本质就是个函数。 2、函数指针:指的是指向函数的指针变量,本质就是个指针。 二、用法 1、指针函数:int* func(int a,int b); 普通函数就是int func(int a,int ... -
@RequestBody和@RequestParam的区别与用法
2020-12-10 13:04:56@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),因此@RequestBody只能用于接收POST请求的参数 ... 详细用法和扩展参考: 链接: @RequestBody和@RequestParam的区别 POST请求时: -
get和post用法和区别总结
2021-04-27 17:24:42但是执行效率却比Post方法好。 4.在进行文件上传时只能使用post而不能是get。 5.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 6.get方式的... -
Python学习.iloc和.loc区别、联系与用法
2021-11-24 21:26:46python之loc和iloc详细解释 -
request 和require区别_“request”和“require”在法律英语中用法的区别
2020-11-19 22:57:01request和require是一组近义、看起来区别不明显的词语,但在起草英文合同或中译英时,这两个词语是否可以无差别适用呢?今天我们就来分析一下。request 和 require 的含义这两个词语都有“要求”的意思,在英译中时... -
forEach用法与map用法区别
2021-10-21 12:44:23map用法与forEach相似,map方法的即是“映射”,原数组被“映射”成对应新数组。 1.forEach方法中的function回调有三个参数 第一个参数是遍历的数组内容, 第二个参数是对应的数组索引, 第三个参数是数组本身。... -
关于绝对定位与相对定位的区别和用法
2021-02-25 08:53:40相对定位及其用法 顾名思义相对定位的意思是相对于该控件相对于之前的位置进行偏。相对定位的css样式代码是这样的:position:relative;前面的单词代表了相对定位的属性,后面的单词代表了相对定位的属性值。倘若我们... -
关于sql中substr和substring的区别与用法
2020-07-17 16:46:49关于sql中的函数substr()和substring()的区别与用法 前段时间,由于工作需要设计sql中的函数substr的使用,百度一番后,查询结果不甚满意,看得仍一脸懵,故而通过Google以及官方文档总结如下,仅供学习参考。如有... -
如何掌握分号的用法 和顿号有什么区别
2020-12-19 13:56:42如何掌握分号的用法 和顿号有什么区别2019-03-08 15:57:09文/李男考试中作文成绩因为标点符号丢分的情况时有发生,看到这样丢分的情况,令人叹息。下面小编整理了一些关于分号的用法,供大家参考!分号的用法有哪些... -
vue中计算属性和watch的区别和使用方法
2020-10-02 17:44:49这里写自定义目录标题计算属性computed和watch的区别两者的主要区别验收一下 计算属性computed和watch的区别 通俗的来说既能实现computed又能够实现watch的推荐使用computed,重点在于computed的缓存功能。computed... -
map和filter使用方法与区别
2019-03-03 15:54:35对于map和filter有时候傻傻分不清楚,不管jquery,只说js中的两个方法,map()和filter()都是对调用他们的数组进行遍历。 首先熟悉一下他们的使用方法: arr.map(function (item,index,array){……}) arr.filter... -
@RequestParam和@PathVariable的用法与区别
2018-12-13 10:14:30SpringBoot——@PathVariable URL变量 Web应用中的URL通常不是一成不变...我们不能对于每一个用户都编写一个被@RequestMapping注解的方法来处理其请求,也就是说,对于相同模式的URL(例如不同用户的主页,他们... -
CyclicBarrier和CountDownLatch的用法与区别
2019-05-15 18:02:49本文将会对两者进行分析,记录他们的用法和区别。 CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,称之为“倒计时器”,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。 ... -
python中集合set,字典dict和列表list的区别以及用法
2021-01-14 01:25:20python中set代表集合,list代表列表,dict代表字典set和dict的区别在于,dict是存储key-value,每一个key都是唯一的,set相对于dict存储的是key,且key是唯一的,list除了变量外都可以存储dict={"a":1,"b":2,"c":3}set... -
break与continue的用法及区别
2021-07-10 15:36:323、break与continue的区别: break:结束所有循环,本次循环体不再执行,跨出循环体以内的内容。 continue:结束本轮循环,开启下一轮循环,本轮循环剩下的内容不在执行。 下图注意箭头方向 4、在for循环中,c -
Feign的使用方法以及与RestTemplate的区别
2021-08-02 14:57:22Feign的使用方法 第一步:导入依赖 第二步:在消费者服务,开启Feign客户端 @SpringBootApplication @EnableFeignClients // 开启Feign客户端 public class MircoRouteApplication { public static void main... -
break 和continue 区别和用法
2019-05-10 15:32:19break 和continue 区别和用法的视频教程:https://ke.qq.com/course/149432?tuin=57912c43 ...想搞清楚break 和continue的用法以及区别必须要记住的两件两句话!我们大家先记住一句话 :break 再循环... -
su和sudo命令的用法与区别
2020-09-01 13:02:19su和sudo命令的用法与区别 su是set user的简写,sudo命令也是一个组合命令,意为set user do,翻译成大白话就是 设定用户 ,操作某些事务。 su 这个命令使用比较简单,该条命令前面已经解释,基本功能就是切换用户... -
break continue 和 return 的用法和区别
2018-11-30 14:57:081. break:直接结束一个循环,跳出循环体。break以后的循环体中的语句不会继续执行,循环体外面的会执行 private void test(){ for (int i = 0; i &lt; 3; i++) { Log.e(TAG, "i = "... -
@RequestMapping和@GetMapping @PostMapping 的用法与区别
2020-09-23 22:24:22具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 @PostMapping用于将HTTP post请求映射到特定处理程序的方法注解 具体来说,@PostMapping是一个组合注解,是@... -
List和ArrayList区别及用法
2019-09-05 11:14:22含义:List是一个接口,而ArrayList是List的实现类。因此List不能作为定义一个实例对象,只能作为引用。 例如: List list1 = new List();//这种定义语句就是错误的 而像这种 List list2 = new ArrayList();...