「数据库」新增百万测试数据之二-程序语言+导入功能

还是同样的场景,我们来讲第二种新增百万数据的方法。

场景

柠檬班的APP上线了,现需要一百万个学员的信息进行压力测试,那么数据从哪里来呢?直接找开发人员帮忙?可能会被鄙视!一条一条去insert?嗯,算了下大概需要20年!

不用怕,Happy老师接下来教你一百种方法高效创建100万数据!

下面是柠檬班APP中的一个学生成绩表,

「数据库」新增百万测试数据之二-程序语言+导入功能

表结构很简单,id是主键,自增长唯一标识一个学生,sName是柠檬班每个学生的昵称,phone是手机号码,还有一个让我们既爱又恨的分数字段score。附建表SQL:

drop table if exists tb_lemon_student_score;create table tb_lemon_student_score(
id int primary key auto_increment,
sName varchar(50),
phone varchar(11),
score tinyint(1));

第二种方法:程序语言生成数据,使用工具进行导入

我们的思路是这样的,通过程序语言生成约定规则的百万数据,保存到文本文件中,再使用Navicat For MySQL强大的导入功能,将百万数据导入到数据库中

1:JAVA编程:写一个生成数据的应用程序

打开Eclipse,编写如下代码:

import java.util.Random;public class BatchInsertTest {
public static void main(String[] args) {
Random random = new Random();
for (int i = 1; i <= 1000000; i++) {
// 学员的id
int id = i;
// 学员的姓名
String sName = "s_" + i;
// 手机号码
long mobile = 13000000000L + i;
// 分数
int score = random.nextInt(100);
System.out.println(id + "|" + sName + "|" + mobile + "|" + score);
}
}}
程序说明:程序使用for循环,向控制台循环输出100万条学生信息,每行表示一个学生信息,规则为:id从1到100w,sName为s_拼接上id值,手机号13000000000+id值,分数0到100随机整数,各个字段间采用分隔符“|”进行分割(这个分隔符在导入数据到数据库时有用)。

运行该JAVA应用程序,如图所示:

「数据库」新增百万测试数据之二-程序语言+导入功能

程序可以正常向控制台输出我们要求的数据,但是行数是有限的,默认Eclipse控制台显示行数是有限的,这个行数是可以调整的,但是百万行文本数据的拷贝这是非常耗资源的,所以介绍另外一种更高效的方法,可以直接把我们控制台的输出全部保存到指定的文件中。

2:将程序输出保存到指定文件

1)右键JAVA类->选择Run As ->选择Run Configurations

「数据库」新增百万测试数据之二-程序语言+导入功能

2)选择Run Configurations界面的Common项->勾选Output File->选择File System设置保存文件的位置,这里设置为桌面的data.txt文件:C:\Users\tommy\Desktop\data.txt

「数据库」新增百万测试数据之二-程序语言+导入功能

3)再次运行程序,能够看到在桌面上生成了一个data.txt文件,打开文件内容如下,一共100万行:

「数据库」新增百万测试数据之二-程序语言+导入功能

3:Navicat For MySQL导入文本数据

右键数据表,选择导入向导,选择导入类型为txt,进行一系列的导入设置后,开始导入:

「数据库」新增百万测试数据之二-程序语言+导入功能

注意:尤其注意要设置中间的的分隔符为竖线"|"大概一分钟后,导入结束。

最后,select抽查,数据已经符合我们的要求了

「数据库」新增百万测试数据之二-程序语言+导入功能

「数据库」新增百万测试数据之二-程序语言+导入功能

上面是我收集的一些视频和面试题资料。

对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你

关注我的微信公众号【程序员二黑】免费获取
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二黑

V:testerhei

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值