关于如何MOCK数据并插入数据表中(MySQL)

776 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

问题描述: 在学习使用SQL语句操作数据库的时候,添加十几二十条数据总感觉不够直观,如何快速批量制造相对真实的假数据,用来测试使用?

一、操作步骤

1.准备一张表

这里拿比较常见的一个商品的表用于测试,简化了大部分内容,以掌握方法为核心

CREATE TABLE IF NOT EXISTS `products` (
  id INT PRIMARY KEY AUTO_INCREMENT,
  brand VARCHAR(20),
  title VARCHAR(100) NOT NULL,
  price DOUBLE NOT NULL,
  score DECIMAL(2,1),
  voteCnt INT,
  url VARCHAR(100),
  pid INT
);

2.搭建node环境并安装依赖

//创建文件存储空间并终端执行
npm init -y
npm install mysql2

3.创建运行脚本insertSQL.js

const mysql = require('mysql2');
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: '123456',
  database: 'sqllearn'	//数据库名称
});
const statement = `INSERT INTO products SET ?;`	
const jsonData = require('./jsonData.json');	
for (let item of jsonData) {
  connection.query(statement, item);
}

4.MOCK数据并存入jsonData.json文件中

方法一:

mock数据可以使用Apifox这款软件

官方介绍:

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好 API 文档,API 调试、API 数据 Mock、API 自动化测试就可以直接使用,无需再次定义;API 文档和 API 开发调试使用同一个工具,API 调试完成后即可保证和 API 文档定义完全一致。高效、及时、准确!🔥🔥🔥

评价:功能强大、开发利器,值得深究,挖掘其使用方法

Apifox使用文档

......

配置好响应数据后【默认外层为array类型+内部为object类型】,在更多中根据需要设置元素数量,然后添加成功示例并自动生成拷贝至上述环境的jsonData.json文件中(需要手动创建)

5.终端执行js文件

node insertSQL.js

注意: 终端执行后无反应则表述执行成功,如果出错需要检查后再次执行

二、拓展(自动生成SQL建表语句+MOCK数据)

传送门:SQL之父

快速生成 SQL 和模拟数据,大幅提高开发测试效率!

填写基本建表信息后即可一键生成对应的

同时生成的有插入数据的SQL语句,直接CV执行即可快速插入数据,确实好用 至于这个网站如何使用,可以参看博主的视频,讲的比较清楚,5分钟左右


关键词:MySQL、Node、ApiFox、MOCK、JavaScript