一. 创建数据库表
1.有表的话,不需要创建表,需要向哪个表中循环插入数据记住表名即可。
2.无表的话,根据需求创建一个数据库表。
CREATE TABLE test(
ID INT PRIMARY KEY AUTO_INCREMENT ,
test_name VARCHAR(20),
test_num INT);
二. 创建储存过程
DROP PROCEDURE IF EXISTS pro1; //如果有创建过储过程删除,无则创建
DELIMITER $ /*(意思是mysql语句的结尾换成以$结束,mysql默认是;结束)*/
CREATE PROCEDURE pro1(IN n INT) /*创建一个名为pro1的存储过程,调用存储过程时,可以通过输入参数n来指定循环的次数*/
BEGIN /*开始*/
DECLARE num001 INT; /*定义num001和num002的数据类型为int*/
SET num001 = 1; /*设置num001=1,num002=10*/
WHILE n - num001 >= 0 DO /*当num001小于等于n时执行下面的操作*//*在test表中插入数据test_name=zhangsan+num001,test_num=num002,contat意为将张三和num001连起来*/
INSERT INTO box VALUES(CONCAT(20201011, num001),CONCAT(20201011, num001),CONCAT(20201011, num001),0,0,'',0,1,1,1,1,14,10,CONCAT(20201011, num001),0,'',9,13,'');
INSERT INTO account VALUES(CONCAT(20201011, num001),0,'2020-10-09 20:22:22','',0,0,0,10,1,'西安分行营业部柜员','',10,1);
SET num001=num001+1; /*设置num001=num001+1,num002=num002*2*/
END WHILE; /*当num>100时,不再执行插入操作循环结束*/
END $ /* 存储过程结束*/
DELIMITER ;
三. 注意事项
这是创建储存过程,先执行这个,然后再执行调起这个储存过程。
call pro1(100) ; //100指的是循环次数。
562



被折叠的 条评论
为什么被折叠?



