软件测试 数据库梳理

数据库

软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。
1.SQL简介
SQL(Structured Query Language结构化查询语言)是世界上最流行的和标准化的数据库语言。
构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ “S-Q-L”),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

2.MySQL
MySQL是一个开源的关系型数据库管理系统(Relational Database Management System),现在属于Oracle公司。MySQL具有开源免费的优势,越来越多的企业选择使用MySQL,而放弃商用收费的Oracle。

MySQL 是一个多用户、多线程 SQL 数据库服务器。MySQL 是CS架构,由一个服务器守护进程 mysqld 和很多不同的客户程序和库组成。

3.常用的关系型数据库

  • Oracle 甲骨文,java写的
  • DB2 IBM的,java写的
  • SQL Server 微软的
  • MySQL 免费的,跨平台
  • Access office里面自带的
  • SQLite android里面的数据库

4.基本概念
主键:唯一标识每行的列。

外键:列A在表1,表2中,如果列A在表1中是主键,A为表2的外键。

DCL(Data Control Language)数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,如grant,deny,revoke等。

DDL(data definition language)数据库定义语言:主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上,如CREATE、ALTER、DROP等。

DML(data manipulation language)数据操纵语言:主要用来对数据库的数据进行增删改查操作,如 SELECT、UPDATE、INSERT、DELETE 。

5.基本的增删改查语句

创建数据库:Create DATABASE database-name

删除数据库:drop database dbname

创建新表:

create table 表名(

列名1 数据类型 primary key,

列名2 数据类型,

列名3 数据类型,

列名n 数据类型

);

例如:

create table person1(

id number(4) primary key,

name varchar2(50),

age number(3)

);

删除新表:drop table tabname

选择:select * from table1 where 列=“abc”

插入:insert into table1(field1,field2) values(value1,value2)

删除:delete from table1 where 范围

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like '%value1%'

排序:select * from table1 order by field1,field2 [desc]

总数:select count as totalcount from table1

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1

**查询语句基本格式:**SELECT 列名/* FROM 表名 (WHERE 条件组合 )

示例数据表
图片

1.查询所有

查询全部学生

select\*fromstudent;``

图片

2.部分查询(查询一个或多个字段值)

查询所有姓名和年龄

selectSname,Sagefromstudent;``

图片

3.单条件查询

关键字where 表示条件,在where之后跟过滤的条件

下面的运算符可在WHERE 子句中使用:

  • 比较运算符包括: = ,>,<,>=,<=,<>
  • 逻辑运算符:NOT,AND,OR
  • 确定范围运算符:BETWEEN AND, NOT BETWEEN AND

select\*fromstudentwhereSage<18;``

图片

区间范围查询

select\*fromStudentwhereSagebetween18and20;``

图片

集合方式查询

select\*fromStudentwhereSagein('18','20');``

图片

4.多条件查询

and 关键字表示和(并且),需要两边条件同时满足

select*fromStudentwhereSsex='男’andSage>18

``

图片

or 表示或 两边条件只要满足一个就可以

select*from表名whereSsex='女’orSclass='大一’

图片

5.分组查询(分组函数)

group by 关键字表示分组,按照一个字段的值进行分组,相同的值组成一组 注意:分组函数一般与聚合函数一起使用

selectSsex,count(\*)fromstudentgroupbySsex;

图片

6.分组后筛选查询

Having 关键键表示条件,为分组函数的专用条件关键字跟在分组后面类似where条件

selectSsex,count(\*)asaafromstudentgroupbySsexhaving aa>=1;``

图片

7.结果排序

order by 关键字表示排序,默认为正序排列(asc),倒序(desc)

select\*fromStudentorderbySage

图片

8.子条件查询

将一个查询结果当做条件来用,此种情况成为子条件查询

select\*fromStudentwhereSage=(selectmax(Sage)fromStudent);``

图片

9.分页查询

**使用关键字limit, 关键字之后如果为一个数字,则表示当前分页显示多少条数据。**在关键字之后跟两个数字a,b,表示从a开始取b条数据。

从0开始取2条数据

select\*fromStudentorderbySagelimit0,2``

图片

10.模糊查询

模糊查询LIKE 或NOT LIKE

select\*from表名wherey_name like'%a%';``

like 关键字表示模糊,后面跟’单引号’ %模糊的内容%

  • '%a%’表示只要该字段含有a字
  • ‘a%’表示要模糊的字必须处于该字段的首位
  • ‘%a’表示要模糊的字必须处于该字段末位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值