使用Navicat生成MySQL测试数据全过程

 更新时间:2025年11月25日 17:02:45   作者:shy好好学习  
本文介绍了如何使用Navicat生成MySQL测试数据,并将其用于测试PostgreSQL数据库的分区表性能,通过Navicat的数据生成工具,可以方便地设置生成数据的条数、格式和类型,并生成多张表的测试数据

使用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数据生成工具对我们本地生成测试数据非常的友好和便捷,支持广泛的数据类型和同时生成多张表的测试数据,可以极大地减轻程序猿的工作量,方便我们有更多的时间去做其他美好的事情。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL分区表的实现示例

    MySQL分区表的实现示例

    MySQL分区是将一张表分割成独立的子表的技术,本文主要介绍了MySQL分区表的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • MySQL Memory 存储引擎浅析

    MySQL Memory 存储引擎浅析

    需求源自项目中的MemCache需求,开始想用MemCached(官方站点:http://memcached.org/ ),但这个在Linux下面应用广泛的开源软件无官方支持的Windows版本
    2011-12-12
  • MySQL表和列、增删改查语句及数据类型约束示例详解

    MySQL表和列、增删改查语句及数据类型约束示例详解

    MySQL数据库的增删改查操作,这可是每个软件测试工程师的必备技能,下面这篇文章主要介绍了MySQL表和列、增删改查语句及数据类型约束的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-02-02
  • Mysql实验之使用explain分析索引的走向

    Mysql实验之使用explain分析索引的走向

    索引是mysql的必须要掌握的技能,同时也是提供mysql查询效率的手段。通过以下的一个实验可以理解?mysql的索引规则,同时也可以不断的来优化sql语句
    2018-01-01
  • MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    这篇文章主要介绍了在mysql中如何查询所有数据库占用磁盘空间大小的SQL语句,这样方便我们了解数据库的一些情况
    2013-08-08
  • MySQL中从库延迟状况排查的一则案例

    MySQL中从库延迟状况排查的一则案例

    这篇文章主要介绍了MySQL中从库延迟状况排查的一则案例,针对其从库无业务状态下的CPU大量占用情况,需要的朋友可以参考下
    2015-05-05
  • MySQL如何根据不同条件联查不同表的数据if/case

    MySQL如何根据不同条件联查不同表的数据if/case

    这篇文章主要介绍了MySQL如何根据不同条件联查不同表的数据if/case问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MySQL中根据binlog日志进行恢复的实现

    MySQL中根据binlog日志进行恢复的实现

    MySQL的binlog功能为数据库的恢复和故障排查提供了有力支持,本文主要介绍了MySQL中根据binlog日志进行恢复的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • 关于mysql调用新手们常犯的11个错误总结

    关于mysql调用新手们常犯的11个错误总结

    对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面这篇文章就来总结了关于mysql调用新手们常犯的十一个错误,需要的朋友可以参考学习。
    2017-03-03
  • MySQL延时复制库方法详解

    MySQL延时复制库方法详解

    我相信很多人都遭遇过MySQL主从复制延迟的问题,处理方案基本上就是你能搜索到的那些,那么我今天却要说说如何让MySQL延迟复制。对于刚组建的团队来说,这可能会救了你的项目
    2020-02-02

最新评论