使用Navicat生成MySQL测试数据

Navicat版本:16.1.3

场景:因为某些原因,本人负责项目的数据库需要从MySQL迁移到PostgreSQL,所以就想测试一下PostgreSQL数据库的分区表性能。测性能的话大概需要两千万的测试数据,从生产库导出的话呢阿里云有限制,因为数据库实例是“自由模式”,每天只能免费导出100W条,想要导出更多的话就得升级实例(得花钱,不可取)。又想到了可以写脚本在服务器上去查询数据然后导出成csv文件再下载到本地,但是这样比较麻烦也就放弃了。
因为不要求数据非常的精确,所以就想到了自己造数据的方式,第一反应当然是通过存储过程,但是呢对于存储过程这种东西吧,只听过,没用过,所以也就不是很精通。在查询解决方案的过程中呢,就发现了Navicat数据生成工具,下面我来做一个详细的介绍

1.配置测试数据库

CREATE TABLE `user` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',  `guid` varchar(255) CHARACTER SET gbk DEFAULT NULL COMMENT '随机id',  `name` varchar(255) CHARACTER SET gbk DEFAULT NULL COMMENT '姓名',  `age` int DEFAULT NULL COMMENT '年龄',  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

2.使用Navicat数据生成工具

可以在数据表中或者Navicat上方的工具栏中找到数据生成工具

3.操作流程

我们以上图中的①为例

1.设置生成数据的条数

点击“数据生成”后,我们点击表名可以设置数据的生成数量

2.设置数据的格式

点击下一步,我们可以根据不同的数据类型,去选择不同的数据生成器,数据生成工具中提供了非常多的生成器来满足我们所需要的数据类型

例如我的guid需要是uuid类型的,那我就可以选择uuid生成器

再比如我可以选择姓名生成器去生成name字段所需要的值

如果我们想要在特定的数据中去随机选择,我们还可以使用枚举类型的生成器

剩下的数据类型可以下来之后自行去研究

4.生成数据

我们对字段配置好之后,就可以点击下一步来预览模拟生成的数据了

点击开始就可以生成数据了

tips:我们在这一步可以对我们刚才所做的配置进行保存,并且可以在下次生成数据的时候直接加载配置好的文件

同时我们也可以在选项中,关闭事务,来提高插入效率

5.总结

Navicat数据生成工具对我们本地生成测试数据非常的友好和便捷,支持广泛的数据类型和同时生成多张表的测试数据,可以极大地减轻程序猿的工作量,方便我们有更多的时间去做其他美好的事情(摸鱼~~)。

如有问题,欢迎随时评论私聊~

参考链接:在 Navicat 16 中生成测试数据