首先在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) ;
执行成功后,数据如下所示: