首先在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) ;

执行成功后,数据如下所示:

 
如果想查询test数据库存在哪些存储过程,则执行:
select * from mysql.proc where db = 'test' and type = 'procedure'  ;
结果如下图所示:

 

MYSQL中创建存储过程实现向表中循环插入数据的更多相关文章

  1. mysql 中创建存储过程

    mysql中创建存储过程和存储函数虽相对其他的sql语言相对复杂,但却功能强大,存储过程和存储函数更像是一种sql语句中特定功能的一种封装,这种封装可以大大简化外围调用语句的复杂程度. 首先以表emp ...

  2. hive中创建hive-json格式的表及查询

    在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...

  3. mysql -- 循环插入数据到表中

    备忘: 1.经搜索发现,MySql不支持直接写SQL语句实现循环插入功能. 想要实现该功能,可以用其他语言操控MySql来实现,或者用存储过程来实现(Store Procedure--SP).   2 ...

  4. CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储

    CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...

  5. EBS OAF中如何在多行表中实现附件功能

    EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...

  6. 尚硅谷面试第一季-11MyBatis中当实体类中的属性名和表中的字段名不一样怎么办

    问题: MyBatis中当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 解决方案: 1.写sql语句时起别名 <!-- id属性:必须是接口中方法的方法名 resultType属性:必须是 ...

  7. 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除。(C语言)

    /* 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除 */ #include <stdio.h> #include <stdlib.h> typedef st ...

  8. Oracle中恢复drop掉的表中的数据

    今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下. 其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表 ...

  9. 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 ...

随机推荐

  1. angularjs 实现 文件拖拽,缩略图显示

    成果图: main-hugeScreen.html <div class="hbox hbox-auto-xs hbox-auto-sm" ng-controller=&qu ...

  2. 网易大手笔领投美国VR触觉公司AxonVR

    12月8日消息,美国西雅图VR触觉公司AxonVR今日宣布完成了580万美元的种子轮融资,由中国网易和Dawn Patrol Ventures领投.此次融资完成后AxonVR的总融资额将攀升至700万 ...

  3. leetcode Container With Most Water

    Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai).  ...

  4. ACM : HDU 2899 Strange fuction 解题报告 -二分、三分

    Strange fuction Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...

  5. ACM: I Hate It 解题报告 - 线段树

    I Hate It Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Des ...

  6. C程序演示产生僵死进程的过程

    先抄录网上一段对僵死进程的描述: 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中.这种 ...

  7. 李洪强iOS经典面试题129

    1. 怎么解决缓存池满的问题(cell) ios中不存在缓存池满的情况,因为通常我们ios中开发,对象都是在需要的时候才会创建,有种常用的说话叫做懒加载,还有在UITableView中一般只会创建刚开 ...

  8. 当target属性在XHTML script中无效时

    <a href="#" target=_blank></a>target此属性能够使链接在新窗口打开,但是在XHTML script中无效时. 那么解决方案 ...

  9. 关闭CentOS不必要的开机启动项

    命令行: for i in `chkconfig --list |grep 3:on|awk '{print $1}' |grep -Ev "network|sshd|sysstat|ude ...

  10. jquery选择器实例说明

    选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元素 .class $( ...