【测试基础】构造测试数据之 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 字段也自动更新了。

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

G皮T

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值