Heim >Datenbank >MySQL-Tutorial >MySQL循环语句_MySQL

MySQL循环语句_MySQL

WBOY
WBOYOriginal
2016-06-01 13:06:32929Durchsuche

mysql 操作同样有循环语句操作,网上说有3中标准的循环方式: while 循环 、 loop 循环和repeat循环。还有一种非标准的循环: goto。 鉴于goto 语句的跳跃性会造成使用的的思维混乱,所以不建议使用。

这几个循环语句的格式如下:
WHILE……DO……END WHILE
REPEAT……UNTIL END REPEAT
LOOP……END LOOP
GOTO。

 

目前我只测试了 while 循环:

delimiter $$    // 定义结束符为 $$drop procedure  if exists wk;  //  删除 已有的 存储过程create procedure wk()      //  创建新的存储过程begin declare i int;          // 变量声明set i = 1;     while i <p>delimter : mysql  默认的  delimiter是;      告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。</p><p>这里使用 delimiter 重定义结束符的作用是: 不让存储过程中的语句在定义的时候输出。</p><p>创建 MySQL 存储过程的简单语法为:</p><pre class="brush:php;toolbar:false">CREATE PROCEDURE 存储过程名称( [in | out | inout] 参数 )BEGIN Mysql 语句END

调用存储过程:

call 存储过程名称()   // 名称后面要加() 
<span style="color: rgb(57, 57, 57); font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(250, 247, 239);">二 、 REPEAT 循环</span>
<pre name="code" class="html">delimiter //drop procedure if exists looppc;create procedure looppc()begin declare i int;set i = 1;repeat     insert into user_profile_company (uid) values (i+1);    set i = i + 1;until i >= 20end repeat;end //---- 调用call looppc()



三、 LOOP 循环

delimiter $$drop procedure if exists lopp;create procedure lopp()begin declare i int ;set i = 1;lp1 : LOOP              //  lp1 为循环体名称   LOOP 为关键字insert into user_profile (uid) values (i);    set i = i+1;        if i > 30 thenleave lp1;              //  离开循环体    end if;end LOOP;              //  结束循环end $$




Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn