最近学员面试遇到一个很有趣的面试题,sql语句中的insert into你怎么测?通过该题可以了解到应聘者对数据库的熟悉程度,也可以看出应聘者的测试分析能力。
为此我们整理了一些测试点供大家参考,欢迎补充。
语句正确
语句后面接表名,各字段值正确,插入数据正确
表名后面接字段,各字段值正确,插入数据正确
往单表的视图中插入数据,插入数据正确
语句错误
字段值顺序和表字段顺序不一致,插入失败
字段值和表字段个数不一致,插入失败
sql服务端不输入分号,插入失败
insert into、vaules关键字错误,插入失败
关键字之间不用空格隔开,插入失败
字段之间不用逗号隔开,插入失败
字段之间用两次逗号隔开,插入失败
字段值之间不用逗号隔开,插入失败
字段值之间用两个逗号隔开,插入失败
表名和字段名之间不使用括号,插入失败
values和字段值之间不用括号,插入失败
往不存在的表插入数据,插入失败
往多表的视图中插入数据,插入数据失败
往临时表中插入数据,插入数据失败
数据类型
整数(int)
插入正负十位整数,插入数据正确
插入11位正负整数,插入失败
插入字符串/日期,插入失败
字符
字段字符长度为10
插入10个字符,插入成功
插入11个字符,5.5插入失败,5.1自动截取前10个字符
字符串不用引号,插入失败
日期
插入'2020/01/13 10:00:00',插入数据正确
插入'2020-01-13 10:00:00',插入数据正确
插入'2020-1-1 9:1:1',插入数据正确
时间不带引号,插入数据失败
'2020.01.13 10:00:00',年月日格式不对,插入数据失败
'2020/01/13 10.00.00',时分秒格式不对,插入数据失败
插入数字,插入失败
插入字符,插入失败
约束
字段为主键约束
插入非空、非重复的数据,插入成功
该字段插入数据为空(空字符串/空对象),插入失败
该字段输入数据重复,插入失败
字段为外键约束
主表没有该值,从表插入数据失败
主表有该值,从表插入数据成功
字段为非空约束
该字段插入数据为空(空字符串/空对象),插入失败
插入非空、重复的数据,插入成功
字段为默认值约束
该字段插入数据为空,插入数据成功,该字段值为默认值
该字段插入数据,插入数据成功,该字段值为插入的数据
字段设置为自增长
插入数据时该值为空,自动增加
该字段插入数据,插入数据成功,该字段值为插入的数据
索引
主键索引
同上面的主键约束
唯一索引
该字段输入不重复数据,插入成功
该字段输入数据重复,插入失败
该字段插入数据为空(空字符串/空对象),插入成功
普通索引
该字段插入数据为空(空字符串/空对象),插入成功
该字段输入数据重复,插入成功
该字段输入不重复数据,插入成功
主键组合索引(id,name)
id,name字段值插入不重复的数据,插入成功
id,name字段值插入重复组合的数据,插入失败
id字段值插入重复的数据,name字段不插入重复的数据,插入成功
id字段值插入不重复的数据,name字段插入重复的数据,插入成功
id字段为空(空字符串/空对象),插入数据失败
name字段为空(空字符串/空对象),插入数据失败
语句中使用函数\关键字
时间字段值为now(),插入成功,插入时间为当前时间
insert into语句后面接select语句
select语句的表数据结构和插入表的字段结构顺序一致,插入成功
select语句的表数据结构和插入表的字段结构顺序不一致,插入失败