【测试基础】构造测试数据之 MySQL 篇

构造测试数据之 MySQL 篇

作为一名测试工程师,我们经常会构造测试数据进行一些功能验证。为了暴露更多的问题,在测试数据的构造上,我们应该尽可能的构造不同类型的字段数据,且一张表的字段最好不低于 10 10 10 个。

对于 MySQL 数据库,字段类型主要是分为 数值类型时间类型字符串类型

  • 数值类型:intbigintfloatdoubledecimal、…
  • 时间类型:yearmonthdaydatetimedatetimetimestamp、…
  • 字符串类型:charvarcharenumtext、…
-- 创建学生表
create table student_info (
  id int(11) not null auto_increment,
  stu_number int(11) not null unique comment '学号',
  name char(20) not null comment '姓名',  
  age tinyint default 20 comment '年龄',
  sex enum('man', 'woman') comment '性别',
  address varchar(50) comment '家庭住址',
  score smallint comment '入学成绩',
  class_id int(11) comment '所在班级',
  birth_year year comment '出生年份',
  birthday date comment '出生日期',
  createTime datetime default current_timestamp comment '创建时间',
  updateTime timestamp default current_timestamp on update current_timestamp comment '更新时间',
  primary key (id)
);

我们创建一个学生信息表,有几点需要特别声明:

  • id 作为主键(Primary Key),同时设置为自增(auto_increment)。
  • 学号 stu_number 具有唯一约束(Unique Key)。
  • namechar 类型,addressvarchar 类型。
  • sex 为枚举(enum)类型。
  • date 类型的格式为 YYYY-MM-DD
  • datetimetimestamp 类型的格式都为 YYYY-MM-DD hh:mm:ssdatetime 支持的范围为 1000-01-01 00:00:00 - 9999-12-31 23:59:59(通常用来考勤等)。timestamp 有时间范围限制,从 1970-01-01 00:00:01 - 2038-01-19 03:14:07(常用)(通常使用在注册账号时间,交易,下订单时间)。

在这里插入图片描述

插入数据:

insert into student_info (stu_number, name, age, sex, address, score, class_id, birth_year, birthday, createTime, updateTime) 
values (100001, '张三', 25, 'man', '北京市朝阳区', 80, 104, '1998', '1998-06-16', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100002, '李四', 34, 'man', '北京市海淀区', 85, 102, '1997', '1997-03-12', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100003, '王五', 18, 'man', '上海市徐汇区', 90, 103, '1998', '1998-03-25', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100004, '赵六', 38, 'man', '上海市静安区', 70, 104, '1995', '1995-05-18', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100005, '子涵', 45, 'man', '北京市朝阳区', 82, 101, '1997', '1997-08-11', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100006, '小美', 22, 'woman', '上海市闵行区', 88, 102, '1996', '1996-10-10', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100007, '小明', 65, 'man', '西安市未央区', 89, 103, '1997', '1997-01-28', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100008, '小红', 51, 'woman', '重庆市江北区', 78, 101, '1995', '1995-12-11', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100009, '翠花', 47, 'woman', '西安市碑林区', 86, 102, '1997', '1997-05-24', '2023-12-31 01:00:00', '2023-12-31 01:00:00'),
       (100010, '无忌', 19, 'man', '北京市西城区', 93, 103, '1998', '1998-08-26', '2023-12-31 01:00:00', '2023-12-31 01:00:00');

在这里插入图片描述

查看数据:

在这里插入图片描述

我们尝试进行一个 update 操作。

update student_info
set name = '张无忌'
where stu_number = 100010;

在这里插入图片描述
可以看到对应数据的 updateTime 字段也自动更新了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/280858.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UDP信号多个电脑的信息传输测试、配置指南

最近要做一个东西,关于一个软件上得到的信号,如何通过连接的局域网,将数据传输出去。我没做过相关的东西,但是我想应该和软件连接数据库的过程大致是差不多的,就一个ip和一个端口号啥的。 一.问题思路 多个设备同时连…

自动化测试系列 之 Python单元测试框架unittest

一、概述 什么是单元测试 单元测试是一种软件测试方法,是测试最小的可测试单元,通常是一个函数或一个方法。 在软件开发过程中,单元测试作为一项重要的测试方法被广泛应用。 为什么需要单元测试 单元测试是软件开发中重要的一环&#xf…

微服务系列之分布式事务理论

概述 事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性、一致性、隔离性和持久性。 分类 大多数情况下,分类是没有意义的一件事。但是分类可以一定程度上,加深理解。 实现 从实现角度来看&#xff0…

c语言函数篇——递归函数

递归函数的工作原理 递归函数的工作原理基于两个主要部分:基本情况和递归情况。基本情况是函数不再调用自身的条件,当达到基本情况时,递归停止并返回结果。递归情况是函数调用自身的部分,它将问题分解为更小的、相似的子问题。 …

【Matlab】基于遗传算法优化BP神经网络 (GA-BP)的数据时序预测

资源下载: https://download.csdn.net/download/vvoennvv/88682033 一,概述 基于遗传算法优化BP神经网络 (GA-BP) 的数据时序预测是一种常用的机器学习方法,用于预测时间序列数据的趋势和未来值。 在使用这种方法之前,需要将时间序…

微信小程序开发系列-07组件

微信小程序开发系列目录 《微信小程序开发系列-01创建一个最小的小程序项目》《微信小程序开发系列-02注册小程序》《微信小程序开发系列-03全局配置中的“window”和“tabBar”》《微信小程序开发系列-04获取用户图像和昵称》《微信小程序开发系列-05登录小程序》《微信小程序…

【FileZilla】的基本使用

一、FileZilla的使用 1.1 FileZilla简介 1.2 软件下载 到官方网站下载 FileZilla 的服务端和客户端程序 FileZilla - The free FTP solution 自行下载即可 1.3 软件安装 (1)先安装服务端【傻瓜式安装】,一直下一步下一步安装即可 &#xf…

uniapp中组件库的丰富NumberBox 步进器的用法

目录 基本使用 #步长设置 #限制输入范围 #限制只能输入整数 #禁用 #固定小数位数 #异步变更 #自定义颜色和大小 #自定义 slot API #Props #Events #Slots 基本使用 通过v-model绑定value初始值,此值是双向绑定的,无需在回调中将返回的数值重…

【linux】head的用法 输出文件开头的内容

在linux可以用find查找一个文件,可以用grep查找符合要求的文件内容,但是有的时候希望查看文件的前几行或者后几行(其实这种场景经常可以遇到,比如接触到日志分析的时候),那就应该使用head和tail这两个工具了…

SpringMVC源码解析——DispatcherServlet初始化

在Spring中,ContextLoaderListener只是辅助功能,用于创建WebApplicationContext类型的实例,而真正的逻辑实现其实是在DispatcherServlet中进行的,DispatcherServlet是实现Servlet接口的实现类。Servlet是一个JAVA编写的程序&#…

STM32——F407定时器概述

1 定时器分类 定时器类型数量位号位宽时钟捕获/比较输出DMA请求计数互补输出基本2TIM6,TIM716bitAPB1-有递增-通用2TIM2,TIM532bitAPB14通道有递增、递减、中心对齐-通用2TIM3,TIM432bitAPB14通道有递增、递减、中心对齐-通用1TIM916bitAPB14通道有递增-通用2TIM10、TIM1116bi…

图像分割实战-系列教程3:unet医学细胞分割实战1(医学数据集、图像分割、语义分割、unet网络、代码逐行解读)

🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 上篇内容: Unet系列算法 下篇内容: unet医学细胞分割实战2 1、医学细胞数据…

STM32——通用计时器

通用计时器框图 1.时钟源 1)内部时钟(CK_INT) 2)外部时钟模式 1:外部输入引脚(TIx),x1,2(即只能来自于通道 1 或者通道 2) 3)外部时钟模式 2:外部触发输入(ETR) 4&#…

androidStudio 没有新建flutter工程的入口?

装了flutter dart 插件 执行了 flutter doctor 也执行了 flutter doctor --android-license 最后重启了 androidStudio 还是没发现在哪新建flutter项目工程 原来 plugins 下的 Android APK Support没有勾选

[C#]C# winform实现imagecaption图像生成描述图文描述生成

介绍: 地址:C#https://github.com/ruotianluo/ImageCaptioning.pytorch 效果: 测试环境: vs2019 onnxruntime1.16.3 opencvsharp4.8 代码: using System; using System.Collections.Generic; using System.Comp…

win11出现安全中心空白和IT管理员已限制对某些区域的访问(不一样的解决方式),真实的个人经历,并且解决经过

1、个人的产生问题的经历 2023年12月22日,由于我买了一块电脑的固态硬盘1T,想要扩容,原来电脑自带512G(由于个人是一个程序员,导致512G实在太古鸡肋)装好以后,想要重装一下系统,来个大清理。结果不出意料&…

二叉树BFS

前置知识 二叉树节点的定义 二叉树是递归定义的 /*** Definition for a binary tree node.(LeetCode)*/public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode…

自然语言处理2——轻松入门情感分析 - Python实战指南

目录 写在开头1.了解情感分析的概念及其在实际应用中的重要性1.1 情感分析的核心概念1.1.1 情感极性1.1.2 词汇和上下文1.1.3 情感强度1.2 实际应用中的重要性 2. 使用情感分析库进行简单的情感分析2.1 TextBlob库的基本使用和优势2.1.1 安装TextBlob库2.1.2 文本情感分析示例2…

小程序面试题 | 17.精选小程序面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

[Angular] 笔记 24:ngContainer vs. ngTemplate vs. ngContent

请说明 Angular 中 ngContainer, ngTemplate 和 ngContent 这三者之间的区别。 chatgpt 回答: 这三个在 Angular 中的概念是关于处理和组织视图的。 1. ngContainer: ngContainer 是一个虚拟的 HTML 容器,它本身不会在最终渲染…