sql是软件测试人员日常工作中必不可少的技能之一,业务测试当中,测试人员主要会使用sql来查询数据&校验数据准确性、修改数据&构造测试场景,开发工作中,也会使用sql语句来达到功能的使用。
这里主要分享了sql语法中最基础的增删改查,还有会配合增删改查一起搭配使用的order by(排序)、group by(分组)、distinct(去重)、limit(限制条数)等语法。
01插入表数据
insert into 表名1 (字段1,字段2) values(字段1值,字段2值)
02删除表数据
delete:delete from 表名1 where 范围(删除表内符合条件的内容)
delete from 表名1(清空数据表内容,不释放空间,即:下次插入表数据,id依然接着删除数据的id继续增加)
truncate:truncate table 表名1(清空表数据,释放空间,即:下次插入表数据,id从1重新开始)
drop:drop table 表名1(整张表被删除,要使用该表必须重新建)
03修改表数据
update 表名1 set 字段名 = ‘新值’ where 范围
04查询表数据
查询数据:select * from table1 where 范围
总数:select count (*) from table1 where 范围
select count (distinct(字段1) from table1 where 范围(distinct可去重)
求和:select sum (字段1) from table1 where 范围
平均:select avg (字段1) from table1 where 范围
最大:select max (字段1) from table1 where 范围
最小:select min (字段1) from table1 where 范围
排序:select * from table1 where 范围 order by 排序字段名 desc(desc逆序排序。默认是正序排序asc)
05复杂查询
嵌套查询:多个查询语句嵌套在一起查询,一般嵌套的查询语句放在where 或 having 的后面
例:
select * from table1 where status in(select status from table2)
多表连接查询
table1:
table2:
(1)内联查询(inner join……on……)
select * from table1 a inner join table2 b on a.id=b.id
查询结果:
(2)左外联(left outer join……on……)
select * from table1 a left outer join table2 b on a.id=b.id
查询结果:
(3)右外联(right outer join……on……)
select * from table1 a right outer join table2 b on a.id=b.id
(4)全外联(full outer join……on……)
select * from table1 a full outer join table2 b on a.id=b.id
06group by分组
根据某一个或多个列表字段进行分组统计。
table1:
查询每个用户的最高成绩
select name,max(score) as max_score from table1 group by name
查询结果:先按用户名分组,再在每个组中查询找到最高分数
查询全班每科课程平均分
select course,avg(score) as avg_score from table1 group by course
查询结果:先按课程分组,再在每个组中查询找到平均分数
having的用法:同where用法,having与group by连用。where是筛选单个记录,having是筛选分组记录(先分组,后筛选)
作为一个初中级测试人员,一般情况下拥有以上的数据库知识就可以满足大部分的测试需要了。
- 还没有人评论,欢迎说说您的想法!