一、while循环 语法:WHILE [条件] DO [逻辑] END WHILE;

delimiter $$
DROP FUNCTION IF EXISTS `fn_findCharCount` $$
CREATE FUNCTION fn_findCharCount
(in_string VARCHAR(),
in_find_str VARCHAR()
)
RETURNS INT
BEGIN DECLARE tcount INT DEFAULT ;
DECLARE new_str VARCHAR();
DECLARE scount INT; SET new_str = in_string; SELECT INSTR(new_str,in_find_str) INTO scount; WHILE scount> DO
SET tcount = tcount+;
SELECT SUBSTRING(new_str FROM (scount+) FOR CHAR_LENGTH(new_str)) INTO new_str;
SELECT INSTR(new_str,in_find_str) INTO scount;
END WHILE; RETURN(tcount); END$$
delimiter ;

这是一个mysql自定义函数,里面用了while循环;这个函数是用来判断一个字符串在另一个字符串中出现的次数。

二、 repeat循环:repeat [逻辑] until [条件判断] end repeat; 注意:until判断末尾不要加分号 ;

delimiter $$
create procedure _repeat()
begin
declare a int default ;
repeat
set a=a-;
until a<
end repeat;
select a;
end $$
delimiter ;

三、loop循环:注意 loop 一般要和一个标签一起使用,且在 loop 循环中一定要有一个判断条件,能够满足在一定的条件下跳出 loop 循环(即 leave )!

delimiter $$
create procedure test_loop()
begin
declare t int default ;
label:loop
set t=t+;
if t> then leave label;
end if;
end loop label;
select t;
end $$
delimiter ;

MySql中循环的使用的更多相关文章

  1. mysql中循环插入数据

    循环插入1w条数据 表结构: mysql> desc time_table; +-------+-----------+------+-----+-------------------+---- ...

  2. MySQL中的while、repeat、loop循环

    循环一般在存储过程和存储函数中使用频繁,这里只给出最简单的示例 while delimiter $$ create procedure test_while() begin declare sum i ...

  3. MySQL 中的三中循环 while loop repeat 的基本用法

    -- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...

  4. MySQL中的三中循环 while 、 loop 、repeat 求 1~n 的和

    -- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和/* while循环语法:while 条件 DO 循环体 ...

  5. MySQL中的循环

    MySQL中的三中循环 while . loop .repeat 求 1-n 的和第一种 while 循环 : /* while循环语法: while 条件 DO 循环体; end while; */ ...

  6. mysql中while循环以及变量声明以及dilimiter

    首先我们查看一个正确的完整的一个存储过程 ①其中delimiter命令解释如下:默认情况下,delimiter是分号:.在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令 ...

  7. MySql中in和exists效率

    mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询.一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的 ...

  8. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  9. 浅析MySQL中exists与in的使用

    exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录, ...

随机推荐

  1. CSS属性 table 的 border-collapse 边框合并

    说明 该CSS属性用来设定表格的行和列的边框是合并成单边框,还是分别有各自的边框 separate 缺省值.边框分开,不合并.collapse 边框合并.即如果相邻,则共用同一个边框. 虽然在DIV+ ...

  2. [Python] Hermite 插值

    # -*- coding: utf-8 -*- #Program 0.5 Hermite Interpolation import matplotlib.pyplot as plt import nu ...

  3. 显示锁(一)Lock显示锁的优点

    转载自 Java 并发:Lock 框架详解 摘要: 我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchroni ...

  4. video元素和audio元素

    内容: 1.video元素 2.audio元素 注:这两个元素均是HTML5新增的元素 1.video元素 (1)用途 <video> 标签定义视频,比如电影片段或其他视频流 (2)标签属 ...

  5. rsync同步web数据

    rsync远程同步web服务器的数据 实验拓扑                                            服务器A(rsync服务器)--------------服务器B( ...

  6. Springboot spring data jpa 多数据源的配置01

    Springboot spring data jpa 多数据源的配置 (说明:这只是引入了多个数据源,他们各自管理各自的事务,并没有实现统一的事务控制) 例: user数据库   global 数据库 ...

  7. Devexpress 百分号显示格式

    百分号:{0:P}表示显示为百分号模式.如数据源中为0.5.表示出来为50%

  8. Screen Monitors

    Screen Screen->MonitorCount Monitors Screen->FormCount Screen->Forms[I]->Name

  9. 你该知道的 TValue

    你该知道的 TValue Represents a lightweight version of the Variant type. TValue is a data structure that c ...

  10. Delphi 变体数组 Dataset Locate 查找定位

    Format 函数 Delphi 支持“开参数”和动态数组,变体数组,使用时的语法类似 Delphi 中的集合:采用两个方括号把不同类型的变量括起来(这太方便了啊),也可以采用声明一个 TVarRec ...