MySQL循环语句之while循环测试_Mysql

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 < 11 do           // 循环体
insert into user_profile (uid) values (i);
set i = i +1;
end while;
end $$               // 结束定义语句 

// 调用 

delimiter ;          // 先把结束符 回复为;
call wk();

delimter : mysql 默认的 delimiter是; 告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。

这里使用 delimiter 重定义结束符的作用是: 不让存储过程中的语句在定义的时候输出。

创建 MySQL 存储过程的简单语法为:

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 >= 20 

end 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 then
leave lp1;              // 离开循环体
end if;
end LOOP;              // 结束循环
end $$ 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, 循环语句
while循环
mysql while语句、do while循环语句、while循环语句用法、while循环语句、matlab while循环语句,以便于您获取更多的相关知识。

时间: 2024-08-02 18:30:39

MySQL循环语句之while循环测试_Mysql的相关文章

mysql LOAD语句批量录入数据_Mysql

幸运的是,MySQL提供了一些方法用于批量录入数据,使得向表中添加数据变得容易了.本节以及下一节,将介绍这些方法.本节将介绍SQL语言级的解决方法. 1.基本语法 语法:LOAD DATA [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.如果指定LOCAL关键词,从客户主机读文件.如果LOCAL没指定,文件必须位于服务器上.(L

MySQL Like语句的使用方法_Mysql

REGEXP例1.查询字段中包含非英文的数据 复制代码 代码如下: SELECT *FROM `m_user`WHERE `emp_no`REGEXP '[^ -~]' =1  列2.这样能把所有不含英文的都搞出来 复制代码 代码如下: SELECT *FROM tableWHERE nameNOT REGEXP '[a-zA-Z0-9]+' 当然除了regexp之外还可以使用FIND_IN_SET,like来操作FIND_IN_SETmysql中如何使用FIND_IN_SET(),以及使用FI

MySQL prepare语句的SQL语法_Mysql

MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement; /*定义*/ EXECUTE statement_name [USING @var_name [, @var_name] ...]; /*执行预处理语句*/ {DEALLOCATE | DROP} PREPARE statement_name /*删除定义*/ ; PREPARE语句用于预备一个语句,并指定名称statement_name,以后引用该语句.

mysql insert语句操作实例讲解_Mysql

insert的语法 复制代码 代码如下: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]     [INTO] tbl_name [(col_name,...)]     VALUES ({expr | DEFAULT},...),(...),...     [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 或: INSERT [LOW_PRIORITY | DELAYED | HIGH

Mysql查询语句优化技巧_Mysql

索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等.这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整理的,主要是查询语句上面的优化,其它层面的优化技巧在此不做记录. 查询的开销指标: 执行时间 检查的行数 返回的行数 建立索引的几个准则: (1).合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度. (2).索引越多,更新数据的速度越慢. (3).尽量在采用MyIsam作为引擎的时候使用索引(因为My

MySQL基本操作语句小结_Mysql

1.使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2.创建一个数据库abccs mysql> CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感.3.选择你所创建的数据库 mysql> USE abccs Database

10个mysql中select语句的简单用法_Mysql

1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from article where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时 2.批量查询数据 可以用in来实现 $sql="select * from article where id in(1,3,5)" 3.使用concat连接查询的结果 $

mysql update语句的用法详解_Mysql

首先,单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] 其次,多表的UPDATE语句:   UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col

mysql查询语句通过limit来限制查询的行数_Mysql

mysql查询语句,通过limit来限制查询的行数. 例如: select name from usertb where age > 20 limit 0, 1; //限制从第一条开始,显示1条 select name from usertb where age > 20 limit 1; //同上面的一个效果 select name from usertb where age > 20 limit 4, 1; //显示从第五条开始,显示1条