MySQL使用存储过程生成一千万条数据

本文介绍了一个使用MySQL存储过程批量插入数据到数据库表的示例。该存储过程能够高效地插入大量数据,并提供了具体的SQL代码实现,有助于理解存储过程的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建表tb_1kw

id为自动增加

CREATE TABLE tb_1kw (
id serial,
uname varchar(50),
ucreatetime datetime,
age bool,
info double)
ENGINE=MYISAM
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=1
ROW_FORMAT=COMPACT;

存储过程如下

delimiter $$
SET AUTOCOMMIT = 0$$
create procedure tb_1kw_pro()
begin
declare v_cnt decimal (10) default 0;
dd:loop
insert into tb_1kw values
(null,'用户1','2011-01-02 00:00:00',1,1.32),
(null,'用户2','2012-02-11 00:00:00',0,81.43),
(null,'用户3','2013-03-21 00:00:00',1,5.09),
(null,'用户4','2014-04-05 00:00:00',1,40.28),
(null,'用户5','2015-05-06 00:00:00',1,03.16),
(null,'用户6','2016-06-08 04:00:00',0,6.64),
(null,'用户7','2017-07-09 00:00:00',0,2.33),
(null,'用户8','2018-08-13 03:00:00',1,45.24),
(null,'用户9','2019-09-18 00:00:00',1,25.35),
(null,'用户0','2020-10-20 10:00:00',2,45.14);
commit;
set v_cnt = v_cnt + 10;
if v_cnt = 10000000 then leave dd;
end if;
end loop dd;
end;$$
delimiter;

执行存储过程生成数据

call tb_1kw_pro;

查看存储过程

show procedure status;

删除存储过程:

drop procedure tb_1kw_pro;

转载于:https://my.oschina.net/siiiso/blog/847011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值