应用场景之一:有时,我们需要创建表并填充大量测试数据。
方法如下:
我们先来新建一个表,创建两个普通索引。 CREATE TABLE IF NOT EXISTS `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`), KEY `b` (`b`) ) ENGINE=InnoDB;
这里我们使用存储过程往表里插入 10w 测试数据,如果对 MySQL 的存储过程不熟悉,请看我在代码中的注释,应该能看得懂得。 #定义分割符号,mysql 默认分割符为分号;,这里定义为 // #分隔符的作用主要是告诉mysql遇到下一个 // 符号即执行上面这一整段sql语句 delimiter //
#创建一个存储过程,并命名为 testData create procedure testData()
#下面这段就是表示循环往表里插入10w条数据 begin declare i int; set i=1; while(i<=100000)do insert into t values(i, i, i); set i=i+1; end while; end // #这里遇到//符号,即执行上面一整段sql语句
delimiter ; #恢复mysql分隔符为;
call testData(); #调用存储过程
数据插入完成!备注:个人开发机上会需要比较长的时间,预计15分钟左右【个人电脑】
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有