一、循环使用

mysql常见的三种循环方式:while、repeat和loop循环。还有一种goto,不推荐使用。

前提1、创建基本表结构

# 创建表结构
drop table if exists `test_table`;
create table `test_table`(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`modelid` varchar(50) COMMENT '字符主键',
`modelname` varchar(50) COMMENT '名称',
`desc` varchar(50) COMMENT '描述',
primary key (`id`)
) ENGINE=InnoDB charset=utf8 collate=utf8_bin;

1.1、while循环

delimiter //  #定义标识符为双斜杠
DROP PROCEDURE IF EXISTS my_procedure ; #如果存在 my_procedure 存储过程则删除
CREATE PROCEDURE my_procedure () #创建无参存储过程
BEGIN
DECLARE n INT DEFAULT 1 ; #申明变量
WHILE n <= 10 DO #结束循环的条件:
insert into test_table (modelid,modelname,`desc`)
value (n,CONCAT('name',n),'desc'); #处理语句
SET n = n + 1 ; #循环一次,i加一
END WHILE ; #结束while循环
select count(*) from test_table;
END
//             
delimiter ;
call my_procedure(); #调用存储过程

1.2、repeat

delimiter //                            #定义标识符为双斜杠
drop procedure if exists my_procedure; #如果存在test存储过程则删除
create procedure my_procedure() #创建无参存储过程,名称为test
begin
declare n int default 1; #申明变量
# set i = 0; #变量赋值
repeat
insert into test_table (modelid,modelname,`desc`)
value (n,CONCAT('name',n),'desc');
set n = n + 1; #循环一次,i加一
until n > 10 end repeat; #结束循环的条件: 当i大于10时跳出repeat循环
select count(*) from test_table; #查看test表数据
end
// #结束定义语句
call my_procedure(); #调用存储过程

1.3、loop

delimiter //                            #定义标识符为双斜杠
drop procedure if exists my_procedure; #如果存在test存储过程则删除
create procedure my_procedure() #创建无参存储过程,名称为test
begin
declare i int; #申明变量
set i = 1; #变量赋值
lp : loop #lp为循环体名,可随意 loop为关键字
insert into test_table (modelid,modelname,`desc`)
value (i,CONCAT('name',i),'desc');
set i = i + 1; #循环一次,i加一
if i > 10 then #结束循环的条件: 当i大于10时跳出loop循环
leave lp;
end if;
end loop;
select count(*) from test_table; #查看test表数据
end
// #结束定义语句
call my_procedure(); #调用存储过程
 

009-MySQL循环while、repeat、loop使用的更多相关文章

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

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

  2. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  3. MySQL循环语句实例教程 mysql while循环测试

    在mysql数据库中操作同样有循环语句操作,标准的循环方式: while 循环 . loop 循环和repeat循环.还有一种非标准的循环: goto. 鉴于goto 语句的跳跃性会造成使用的的思维混 ...

  4. MySQL Crash Course #16# Chapter 24. Using Cursors + mysql 循环

    mysql中游标的使用案例详解(学习笔记)这篇讲得相当直白好懂了. 索引: cursor 基础讲解 mysql 循环 书上的整合代码 cursor 基础讲解 cursor 有点类似于 JDBC 中的 ...

  5. MySQL循环语句之while循环测试

    转自:http://www.nuoweb.com/database/7614.html MySQL有循环语句操作,while 循环.loop循环和repeat循环,目前我只测试了 while 循环,下 ...

  6. mysql循环插入数据、生成随机数及CONCAT函数

    实现目标:一年12个月,每个月插入一条数据,score为1-5的随机数 循环语句: WHILE -- DO -- END WHILE DELIMITER ; CREATE PROCEDURE test ...

  7. Node.js 事件循环(Event Loop)介绍

    Node.js 事件循环(Event Loop)介绍 JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”.Node.js在JavaScript的基 ...

  8. mysql 循环、游标

    mysql 循环只能在存储过程.代码记录 CREATE DEFINER=`front`@`%` PROCEDURE `a_1`() BEGIN -- 声明变量,接收游标循环变量 DECLARE _co ...

  9. 深入理解JavaScript的事件循环(Event Loop)

    一.什么是事件循环 JS的代码执行是基于一种事件循环的机制,之所以称作事件循环,MDN给出的解释为 因为它经常被用于类似如下的方式来实现 while (queue.waitForMessage()) ...

  10. js事件循环机制(Event Loop)

    javascript从诞生之日起就是一门  单线程的  非阻塞的  脚本语言,单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务,非阻塞靠的就是 event lo ...

随机推荐

  1. 云计算与大数据实验:Hbase shell操作成绩表

    [实验目的] 1)了解hbase服务 2)学会hbase shell命令操作成绩表 [实验原理] HBase是一个分布式的.面向列的开源数据库,它利用Hadoop HDFS作为其文件存储系统,利用Ha ...

  2. C语言基础知识-数组和字符串

    C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...

  3. 关于struct和typedef struct

    以 struct TelPhone{ ]; ]; }; 为例 这里先定义了一个 TelPhone的结构体. 加入需要为TelPhone定义一个别名: 其语法为 typedef TelPhone TP: ...

  4. 个人第5次作业-Alpha2项目的测试

    这个作业属于哪个课程 系统分析与设计 这个作业要求在哪里 作业要求 团队名称 卓越Code 这个作业的目标 选取3个非自己所在团队进行项目测试,协助该团队进行项目改进 前言 魏家田 201731062 ...

  5. mysql终止当前正在执行的sql语句

    show processlist;找出你要停止的语句然后找出你要终止的语句的idkill 248

  6. 网站安全DDOS攻击及监测

    一. 监测 在类Unix系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop ...

  7. AspxGridView行为:分页、分组、排序、过滤、锁定列

    HTML页面 <dx:ASPxGridView ID="grvList" Width="100%" runat="server" Au ...

  8. vue 选择之单选,多选,反选,全选,反选

    1.单选 当我们用v-for渲染一组数据的时候,我们可以带上index以便区分他们我们这里利用这个index来简单地实现单选. <li v-for="(item,index) in r ...

  9. C++ socket bind() 函数绑定错误

    VS2015编译错误: errorCxxxx: 'initializing' : cannot convert from 'std::_Bind<false,void,SOCKET&,s ...

  10. 2019-8-26 LinkedHashMap 转 List [java.util.LinkedHashMap cannot be cast to com.zq.dataservice.bean.Index]

    java.util.LinkedHashMap cannot be cast to com.zq.dataservice.bean.Index 上述错误是在做一个趋势投资demo时遇到的. 说的是链式 ...