MYSQL中创建存储过程实现向表中循环插入数据
首先在test数据库中先创建一个表test:
CREATE TABLE test(
ID INT PRIMARY KEY AUTO_INCREMENT ,
test_name VARCHAR(20),
test_num INT);
现在,我们来创建一个存储过程,实现向表里循环插入数据;
delimiter $ /*(意思是mysql语句的结尾换成以$结束,mysql默认是;结束)*/
create procedure pro1(in n int) /*创建一个名为pro1的存储过程,调用存储过程时,可以通过输入参数n来指定循环的次数*/
begin /*开始*/
declare num001 , num002 int; /*定义num001和num002的数据类型为int*/
set num001 = 1 , num002 = 10; /*设置num001=1,num002=10*/
while n - num001 >= 0 do /*当num001小于等于n时执行下面的操作*/
insert into test(test_name,test_num)
values(concat("zhangsan" , num001) , num002); /*在test表中插入数据test_name=zhangsan+num001,test_num=num002,contat意为将张三和num001连起来*/
set num001=num001+1,num002=num002*2; /*设置num001=num001+1,num002=num002*2*/
end while; /*当num>100时,不再执行插入操作循环结束*/
end $ /* 存储过程结束*/
delimiter ; /*(mysql语句的结尾换成以;结束)*/
执行存储过程:
call pro1(100) ;
执行成功后,数据如下所示:

MYSQL中创建存储过程实现向表中循环插入数据的更多相关文章
- mysql 中创建存储过程
mysql中创建存储过程和存储函数虽相对其他的sql语言相对复杂,但却功能强大,存储过程和存储函数更像是一种sql语句中特定功能的一种封装,这种封装可以大大简化外围调用语句的复杂程度. 首先以表emp ...
- hive中创建hive-json格式的表及查询
在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...
- mysql -- 循环插入数据到表中
备忘: 1.经搜索发现,MySql不支持直接写SQL语句实现循环插入功能. 想要实现该功能,可以用其他语言操控MySql来实现,或者用存储过程来实现(Store Procedure--SP). 2 ...
- CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- EBS OAF中如何在多行表中实现附件功能
EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...
- 尚硅谷面试第一季-11MyBatis中当实体类中的属性名和表中的字段名不一样怎么办
问题: MyBatis中当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 解决方案: 1.写sql语句时起别名 <!-- id属性:必须是接口中方法的方法名 resultType属性:必须是 ...
- 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除。(C语言)
/* 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除 */ #include <stdio.h> #include <stdlib.h> typedef st ...
- Oracle中恢复drop掉的表中的数据
今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下. 其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表 ...
- B表中的pid对应A表中id,查询A表中数据,根据b表中对应a表中该id的数据数目排序
B表中的pid对应A表中id,查询A表中数据,根据b表中对应a表中该id的数据数目排序 select a.*,count(*) as c from a left join b on a.id=b.ai ...
随机推荐
- 持续集成基础-Jenkins(一)
什么是jenkins: Jenkins是持续集成的一个系统,它是一种软件开发实践活动(经常执行集成,可能每天) 持续集成的价值: 1.减少风险 - 能够尽早的发生问题 2.减少重复过程 - 把重复的东 ...
- 每天一个linux命令---telnet
执行telnet指令开启终端机阶段作业,并登入远端主机. telnet的命令的格式: telnet ip port 例1: 建立连接不成功 [richmail@portal bin]$ telne ...
- ACM 会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- Button 设置适应不同版本 旋转以后大小相应的改变
很多时候对于不同的版本,随设备的旋转以后,相应的Button的大小如果不做相应的改变,这很影响视图的美观和布局:下面是小编的个人看法 UIButton *button = [[UIBtton all ...
- 【BZOJ】1115: [POI2009]石子游戏Kam
http://www.lydsy.com/JudgeOnline/problem.php?id=1115 题意:n堆石子,个数是从左到右单增.每一次可以从任意堆取出任意石子,但要保持单增这个性质.问先 ...
- CF 346B. Lucky Common Subsequence(DP+KMP)
这题确实很棒..又是无想法..其实是AC自动机+DP的感觉,但是只有一个串,用kmp就行了. dp[i][j][k],k代表前缀为virus[k]的状态,len表示其他所有状态串,处理出Ac[len] ...
- Android -- 简单的图片浏览器
1. 效果图
- 几种常用的JS类定义方法
几种常用的JS类定义方法 // 方法1 对象直接量var obj1 = { v1 : "", get_v1 : function() { return ...
- jQuery $(document).ready()和window.onload
jQuery $(document).ready()和window.onload 根据ready()方法的API说明http://api.jquery.com/ready/. 这个方法接收一个func ...
- js文字无缝滚动
<div id=demo style="overflow:hidden; width:128px; height:300px;"> <div id=demo1&g ...