MySQL存储过程-循环结构
2023-06-13 09:14:25 时间
测试表结构如下,使用存储过程的三种循环结构向表中插入数据。
create table tb
(
type varchar(20) not null,
name varchar(255) not null,
id varchar(20) not null,
primary key (type, id),
constraint index1
unique (name)
);
三种循环结构为: loop……end loop while……do……end while repeat……until…end repeat
1、loop
create procedure insertData()
begin
declare i int default 0;
loop_label:
loop
insert into tb values (i, concat('test', i), i);
set i = i + 1;
if i > 100 then
leave loop_label;
end if;
end loop;
end;
- 使用loop时,需要在其内部嵌套if语句和leave语句,才能在满足条件时离开循环。leave格式:leave 循环标号,循环标号自定义即可。
2、while
create procedure insertData()
begin
declare i int default 0;
while i < 100
do
insert into tb values (i, concat('test', i), i);
set i = i + 1;
end while;
end;
3、repeat
create procedure insertData()
begin
declare i int default 0;
repeat
insert into tb values (i, concat('test', i), i);
set i = i + 1;
until i > 100
end repeat;
end;
- repeat在执行后检查是否满足循环条件(until i > 100),而while则是执行前检查(while i < 100 do)。所以用while写的存过会插入100条数据,用repeat写的则会插入101条数据。
- utitl i > 100 后没有分号,否则报语法错误。
Q.E.D.
相关文章
- Mac下mysql Can ‘t connect to local MySQL server through socket ‘u002Ftmpu002Fmysql.sock ‘
- MySQL共享存储HA技术架构实施(mysql共享存储ha)
- 返回的数据MySQL存储游标返回结果的实现(mysql存储游标)
- MySQL中存储布尔值的简单技巧(mysql存储布尔值)
- MySQL数据存储:深入了解其存储机制(mysql数据存储机制)
- MySQL如何增加字段:ALTER 语句(mysql增加字段命令)
- 基于MySQL的存储过程开发技能(mysql存储过程开发)
- MySQL极速存储:善用字节最大化存储性能(mysql存储字节)
- 数据大数据时代的 MySQL 数据删除法(大数据删除mysql)
- 的数据MySQL查询:跨表拉取数据(mysql查询两张表)
- MySQL中的二进制数据存储(mysql二进制数据)
- MySQL存储二进制数据的方法(mysql二进制数据)
- 存储MySQL数据库:键值存储的优势(mysql数据库键值)
- MySQL存储过程:实现更高效率(mysql支持存储过程)
- PHP操作MySQL数据库实现排名(mysql排名php)
- MySQL数据库中的时间格式简介(mysql的时间格式)
- 探秘道森先生的 MySQL 数据库技能(道森mysql)
- MySQL分页实现:完美代码解决方案(mysql分页代码)
- Mysql实现List存储的技巧(mysql存储list)
- 简单快速:MySQL数据库下载指南(mysql数据库下载)
- MySQL存储过程复制的实现方式(mysql复制存储过程)
- 探究 MySQL 数据库中订单的存储与处理方式(mysql订单)
- 用MySQL淘汰MSSQL:支持可靠的数据存储(mysql代替mssql)
- MySQL中文版下载,简单易用的数据库管理工具(mysql下载中文版)
- 如何轻松进入MySQL数据库(怎么进入mysql数据库)
- 25字中文文章标题MySQL中价格用什么数据类型存储(mysql中价格用什么)
- 数据库中的MySQL 理解Mysql数据库的重要性(MySql中mysql)
- MySQL数据转换从一行转变为多行(mysql中1行变多行)
- 告别繁琐,玩转MySQL,CMD窗口(cmd窗口使用mysql)
- 利用CMD命令行测试MySQL数据库连接(cmd 测试mysql)
- MySQL如何删除表字段(mysql中删除表字段)
- MySQL表格数据一列的拆分技巧(mysql 一列拆分)
- MySQL不使用事务优化数据库性能(mysql不写事务)