软件测试工程师必备的SQL语句基础

为一个软件测试工程师,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在工作过程中整理的比较常用的SQL语句

1.插入表数据:

insert into 表名1 (字段1,字段2) values(字段1值,字段2值);

2.删除表数据:

delete:delete from 表名1 where 范围(删除表内符合条件的内容)

delete from 表名1(清空数据表内容,不释放空间,即:下次插入表数据,id依然接着删除数据的id继续增加)

truncate:truncate table 表名1(清空表数据,释放空间,即:下次插入表数据,id从1重新开始)

drop:drop table 表名1(整张表被删除,要使用该表必须重新建)

3.修改表数据:

update 表名1 set 字段名 = ‘新值’ where 范围

4.查询表数据:

查询数据: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)

5.复杂查询:

嵌套查询:多个查询语句嵌套在一起查询,一般嵌套的查询语句放在where 或 having 的后面

例:

select * from table1 where status in(select status from table2)

多表连接查询:

table1:

id   username
1张三
2李四
3

王二

table2:

idjob
1teacher
2student
4worker

(1)内联查询(inner join……on……)

select * from table1 a inner join table2 b on a.id=b.id

查询结果:

id

username

id

job

1

张三

1

teacher

2

李四

2

student

(2)左外联(left outer join……on……)

select * from table1 a left outer join table2 b on a.id=b.id

查询结果

id

username

id

job

1

张三

1

teacher

2

李四

2

student

3

王二

null

null

(3)右外联(right outer join……on……)

select * from table1 a right outer join table2 b on a.id=b.id

id

username

id

job

1

张三

1

teacher

2

李四

2

student

null

null

4

worker

(4)全外联(full outer join……on……)

select * from table1 a full outer join table2 b on a.id=b.id

id

username

id

job

1

张三

1

teacher

2

李四

2

student

3

王二

null

null

null

null

4

worker

6.group by分组

根据某一个或多个列表字段进行分组统计。

table1:

id

name

course

score

1

张一

Chinese

80

2

张二

Chinese

60

3

张三

math

65

4

张三

Chinese

70

5

张一

math

90

查询每个用户的最高成绩:

select name,max(score) as max_score from table1 group by name

查询结果:先按用户名分组,再在每个组中查询找到最高分数

id

name

max_score

1

张一

90

2

张二

60

3

张三

70

查询全班每科课程平均分

select course,avg(score) as avg_score from table1 group by course

查询结果:先按课程分组,再在每个组中查询找到平均分数

id

course

avg_score

1

chinese

70

2

math

77.5

having的用法:同where用法,having与group by连用。where是筛选单个记录,having是筛选分组记录(先分组,后筛选)

作为一个初中级测试人员,一般情况下拥有以上的数据库知识就可以满足大部分的测试需要了。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值