mysql使用存储函数批量添加数据

创建存储过程

MySQL中,创建存储过程的基本形式如下:

delimiter $$;

CREATE PROCEDURE 名称(参数列表)

BEGIN

SQL语句块

End

$$;

delimiter;

存储过程中变量的定义

变量定义:

declare 变量名 数据类型 default 默认值

存储过程定义变量实例

delimiter $$;

create procedure test_p5(id int,phone int) #传参两个

begin

declare s_name varchar(12); #定义一个变量,没有默认值

declare sex varchar(10) default ''; #定义变量赋默认值

set id = id+1;

set s_name = '安大叔'; #变量复制

insert into students values (id,s_name,phone,sex);

end

$$;

delimiter;

存储过程中的while循环

while是一种循环的语句,我们经常使用while来造数据

while语句格式:

while 条件 do

sql语句

end while;

while循环实例

delimiter $$;

create procedure test_p15(count int)

begin

declare name varchar(20);

declare phone int(20);

declare i int;

set i = 0;

REPEAT

set name=CONCAT('测试',i);

insert into student(Name,Sex,age,class,Addr)

values('name','男',i,'索隆','辽宁省阜新市');    //sql插入语句

set i=i+1;

until i>count

end REPEAT;

end

$$;

delimiter;

存储过程中的repeat循环

•repeat和while一样,也是一种循环的语句,和while不一样的事,repeat循环至少会执行一次。

•repeat语句格式:

–repeat

–sql语句

–until 条件

–end repeat;

 

repeat循环实例

delimiter $$;

create procedure test_p11(count int)

begin

declare name varchar(20);

declare phone int(20);

declare i int;

set i = 0;

while i<count do

set name=CONCAT('计算机',i);

insert into Score(Stu_id,C_name,Grade)values(i,name,i);  //sql插入语句

set i=i+1;

end while;

end

$$;

delimiter;

存储函数进行创建后  运行call test_p11(500),即可创建批量数据

原文地址:https://www.cnblogs.com/muxia/p/5901850.html