表结构及原表数据如下 : select * from u_user;
利用mysql 存储过程批量往表中插入一千条数据
创建存储过程
delimiter $$
create procedure fill_datak() #创建一个存储过程并定义存储过程的名字
begin #开始存储过程
set @i =1000000; #定义变量
while @i<=6000000 do #循环变量小于1000
insert into u_user (u_name,u_age,u_sex,u_is_delete)values(CONCAT("u_name_",@i),(SELECT RAND() * 20),(SELECT RAND() * 2),(SELECT RAND() * 1));
#CONCAT为拼接字符串
set @i = @i+1;
end while;
end $$ #结束存储过程
delimiter; #将mysql的存储过程设置为 ; 查看创建的存储过程show create procedure fill_data -- 查看存储过程执行存储过程
call fill_data(); -- 调用存储过程
本文介绍了一种使用MySQL存储过程来批量插入大量记录的方法。通过定义存储过程,利用循环结构实现了一次性向数据库表中插入一千条记录。这种方法提高了数据插入效率,适用于需要快速填充测试数据的场景。
796

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



