为一个软件测试工程师,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在工作过程中整理的比较常用的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:
id job
1 teacher
2 student
4 worker
 
(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是筛选分组记录(先分组,后筛选)

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

软件测试工程师必备的SQL语句基础的更多相关文章

  1. 软件测试工程师之必备SQL语句基础

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

  2. SQL语句基础之 单表查找

    Sql语句之 单表查询 一.一般查询 1.查看表中的所有记录 以及 所有字段(属性) 语句 : select * from student; 2.只查看某些字段 语句:select sname,sex ...

  3. 精妙SQL语句 基础

    精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句, ...

  4. sql语句基础

    数据库库(DataBase):就是一个存储数据的仓库.为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据.SQL(Structu ...

  5. Sql语句基础练习(一)

    1.求1号课成绩大于80分的学生的学号及成绩,并按成绩由高到低列出.(表名:成绩表.字段名:课号,学号,成绩.) SELECT 学号,成绩 FROM 成绩表 WHERE 课号=1 AND 成绩> ...

  6. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...

  7. MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系

    数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...

  8. 【MySQL】SQL语句基础

    一.操作数据库 1.1 创建数据库 1.2 查看数据库 1.3 修改数据库 1.4 删除数据库 1.5 选择数据库 二.操作表 2.1 创建表 2.2 查看表 2.3 修改表 2.4 删除表 三.操作 ...

  9. SQL语句基础知识

    1.关于SQL语句中exists与not exists的问题 course表如下:课程代号 课程名称 K01 奥运会主题曲 K02 喜爱的专辑 K03 VB技术大全 K04 经典歌曲 K05 个人单曲 ...

随机推荐

  1. es6之类与对象

    一.类的定义 class Parent{ constructor(name="mukewang"){ this.name=name; } } let v_parant=new Pa ...

  2. labview

    1.labview适用于测试测量领域,用于快速构建PC端上位机程序 2.例子: 我的电气参数测试仪. 上位机软件比想象的做的快了十几天... 学校的创新基金可以交差了,界面还是个人比较满意了.. 上图 ...

  3. 使用canvas输出base64_url

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate

    一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点 ...

  5. 【转载】python发送邮件实例

    本文转自:http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343463.html 这几天要用python发送邮件,上网找到这篇文章感觉 ...

  6. 霍金:AI或许能根除疾病和贫穷,但也可能摧毁人类 | GMIC 2017

    在我的一生中,我见证了社会深刻的变化.其中最深刻的,同时也是对人类影响与日俱增的变化,是人工智能的崛起.简单来说,我认为强大的人工智能的崛起,要么是人类历史上最好的事,要么是最糟的.我不得不说,是好是 ...

  7. delect 删除

    delete ---整表数据删除 (慎用) delete  * from 表名; ---条件删除 delete  * from  表名  where  限制条件;

  8. RabbitMQ初学之踩坑记录

    1:账号或密码错误 com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused usi ...

  9. JAVA基础之控制台输入输出

    ---恢复内容开始--- 输入需要用scanner机制 代码: 启用scanner机制 Scanner input = new Scanner(System.in); //String x= inpu ...

  10. 一个 Safari 的 new Date() bug

    开发「bufpay.com 个人即时到账收款平台」后台套餐修改功能的时候碰到一个 new Date() bug. 既在 Safari 里面不支持 var t = new Date('2018-06-1 ...