软件测试 —— 数据库(MySQL、SQL语句、Navicat)

   日期:2024-11-07     作者:caijiyuan       评论:0    移动:http://mip.riyuangf.com/mobile/news/3444.html
核心提示:目录 一、数据库基础知识 1、数据库介绍 2、数据库的分类 3、SQL 语⾔介绍 4、MySQL 数据库介绍  5、数据库连接⼯具 Navicat 

目录

软件测试 —— 数据库(MySQL、SQL语句、Navicat)

一、数据库基础知识

1、数据库介绍

2、数据库的分类

3、SQL 语⾔介绍

4、MySQL 数据库介绍 

5、数据库连接⼯具 Navicat 

5.1、连接数据库操作步骤 

二、数据类型和约束 

1、数据类型

1.1、整数⽆符号设置

2、约束

2.1、主键

2.2、不为空

2.3、唯⼀

2.4、默认值

三、SQL 语句详解

1、查询窗⼝的开启⽅法

2、单语句运⾏⽅法

3、 数据库操作

3.1、创建数据库

3.2、使⽤数据库

3.3、修改数据库

3.4、删除数据库和查看所有数据库

3.5、数据库备份

3.6、扩展: 使⽤命令备份数据库

 4、数据表操作

4.1、创建表

4.2、查看表

4.3、扩展: 判断表存在移除再创建

4.4、扩展: 通过 Navicat ⼯具获取创表语句的⽅法​编辑  

4.5、查看表结构和删除表

5、数据操作

5.1、增加数据

5.2、修改数据

5.3、删除数据

5.4、扩展 1: 逻辑删除

5.5、扩展 2: 其他删除数据的⽅法

6、查询语句 

6.1、基本查询

6.2、条件查询

6.3、其他复杂查询

6.4、使⽤ Navicat ⼯具中的命令列

​编辑

7、连接查询 

7.1、内连接

7.2、左连接

7.3、右连接

7.4、存在左右连接的必要性

7.5、连接查询的⼩结

​8、⾃关联

9、⼦查询

9.1、⼦查询语句充当条件

9.2、⼦查询语句充当数据源

10、数据库⾼级扩展内容(了解)

10.1、ER 模型

10.2、外键 

10.3、索引

11、扩展: 实际项⽬中数据库中表的样式

11.1、实际项⽬的表名设计规律​编辑

11.2、查看创表语句中的字段注释​编辑 

12、SQL 练习题获取⽹站 

12.1、⼒扣

12.2、牛客网


说明: 数据库是专⻔门⽤来存储数据的软件

注意: 对于测试⼯作⽽⾔, 如果项⽬⻚页⾯没有实现, 但是我们⼜想要校验数据, 则可以直接通过查询数据库实现

关系: 具体存在的商品录⼊后 -> 产⽣对应的数据(存到数据库中) -> 最后会被 加载到项⽬⻚页⾯中

分类:

1. 关系型数据库: 以数据表为核⼼

2. ⾮关系型数据库: 不存在数据表的概念

关系型数据库: RDMS(Relational Database Management System)关系型数据库系统

常⻅的关系型数据库:

        : 在⼤型项⽬中使⽤,例如:银⾏、电信等项⽬

        : Web 项⽬中使⽤最⼴泛的关系型数据库

        : 在微软的项⽬中使⽤

        : 轻量级数据库,主要应⽤在移动平台

关系型数据库的核⼼要素:

数据⾏(⼀条记录

数据列(字段

数据表(数据⾏的集合

数据库(数据表的集合,⼀个数据库中能够有 n 多个数据表

关系型数据库核⼼要素示例

 SQLStructured Query Language(结构化查询语⾔),通过 SQL 语 ⾔可以对数据库进⾏操作

注意:

1. SQL 语⾔默认⽀持操作所有常⻅见的关系型数据库

2. 作为测试⼈员, 必须要掌握 SQL 的查询语句

(DQL:数据查询语⾔,⽤于对数据进⾏查询,例如:select)

3. 对于 MySQL ⽽⾔, 编写 SQL 语句时, 不区分字⺟的⼤⼩写

MySQL 是⼀个关系型数据库管理系统,⽬前属于 Oracle 旗下产品, ⽬ 前为⽌ MySQL 社区版是可以免费使⽤的

特点: 开源、免费、跨平台(Windows/macOS/Linux)、跨语⾔(Java/Python...)

说明: 由于数据库软件处于服务器中, 想要操作数据库, 就必须使⽤⼯具远程连 接数据库后, 进⾏操作

5.1、连接数据库操作步骤 

说明: 将来在⼯作中, 想要远程连接数据库, 需要具备以下条件:

1. 数据库所在服务器的 IP 地址及数据库的端⼝号

2. 向相关⼈员获取数据库的账号和密码

3. 使⽤数据库连接⼯具, 远程连接数据库即可

注意: 远程连接需要注意⽹络连通性

数据类型: 对于填⼊的数据值本身进⾏控制, 保证数据准确性 

整数: int,有符号范围(-2147483648 ~2147483647,⽆符号 unsigned)范围(0 ~ 4294967295

⼩数: decimal,例如:decimal(5,2) 表示共存5位数,⼩数占2位,整数占3 位

字符串: varchar,范围(0~65533,例如:varchar(3) 表示最多存3个字 符,⼀个中⽂或⼀个字 ⺟都占⼀个字符

⽇期时间: datetime,范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,例如'2020-0101 12:29:59'

1.1、整数⽆符号设置

约束: 对于整张数据表进⾏限制, 确保对应字段的所有数据符合设计要求 

主键(primary key: 能唯⼀标识表中的每⼀条记录的属性组

⾮空(not null: 此字段不允许填写空值

唯⼀(unique: 此字段的值不允许重复

默认值(default: 当不填写此值时会使⽤默认值,如果填写时以填写为准

外键(foreign key: ⼀个表中的⼀个字段引⽤另⼀个表的主键

2.1、主键

主要用于保证数据表内没一条的顺序是固定的,不会由于删除或增加数据,而导致数据乱序

注意

1. 一般的在一张数据表只需要有一个主键 

2. 为了使用方便,一般会设置为自动递增并确是无符号

2.2、不为空

设置字段内数据必须有值,不能为空(NULL) 

2.3、唯⼀

1、索引 -> 字段

 2、选择索引类型为: unique(唯⼀)

要求当前字段内的所有数据不能重复

2.4、默认值

如果填写字段对应数据,则显示填写内容,如果不填写,则显示默认值您内容

注意如果默认值内容为字符串,必须加引号(英文格式)

3.1、创建数据库

 

3.2、使⽤数据库

 

3.3、修改数据库

 

3.4、删除数据库和查看所有数据库

 

3.5、数据库备份

1. 应⽤场景

说明: 在测试⼯作中, 为了防⽌对数据库产⽣错误操作, 或产⽣垃圾数据, 都需要在操作前, 适当对数据库进⾏备份操作.

垃圾数据: 例如在⾃动化测试中, 对注册模块操作⽣成的所有数据, 属于典型的垃圾数据, 应该清理

2.备份⽅法 

利⽤⼯具(Navicat)  ->  备份步骤

1、数据库 -> 转储 SQL ⽂件 -> 结构+数据

2、⾃⾏选择存放位置

3、备份结束

3. 还原操作

1、数据库 -> 运⾏ SQL ⽂件

2、选择备份⽂件

3、还原结束

3.6、扩展: 使⽤命令备份数据库

注意: 命令是不需要连接到数据库以后执⾏的!(⾮ mysql> 模式) 

1. mysql> 为 SQL 语句编写模式, ⾮ Linux 命令⾏模式

mysql -u 数据库用户名 -p 数据库密码

注意:mysql>  仅支持SQL语句

2. 命令备份与还原数据库操作

备份命令mysqldum -u数据库用户名 -p 目标数据库名 > 备份文件名.sql

还原命令mysql -u数据库用户名 -p 目标数据库名 < 备份文件名.sql

注意需要根据提示显示数据库密码,执行数据库备份与还原操作

4.1、创建表

 

4.2、查看表

 

4.3、扩展: 判断表存在移除再创建

 

4.4、扩展: 通过 Navicat ⼯具获取创表语句的⽅法  

4.5、查看表结构和删除表

 

5.1、增加数据

1. 增加⼀⾏数据

 

2. 增加多⾏数据

 

5.2、修改数据

 

语句作⽤对应

5.3、删除数据

 

5.4、扩展 1: 逻辑删除

逻辑删除: 对于重要的数据,不能轻易执⾏ delete 语句进⾏删除。因为⼀旦删 除,数据⽆法恢复,这 时可以进⾏逻辑删除。

1、给表添加字段,代表数据是否删除,⼀般起名 isdelete,0代表未删除,1代 表删除,默认值为0

2、当要删除某条数据时,只需要设置这条数据的 isdelete 字段为1

3、以后在查询数据时,只查询出 isdelete 为0的数据

1. 第⼀步 

 2. 第⼆和第三步

 

5.5、扩展 2: 其他删除数据的⽅法

 

与图形化⻚页⾯菜单的对应关系

6.1、基本查询

 

6.2、条件查询

1. ⽐较运算符&逻辑运算符

 

2. 模糊查询

 

3. 范围查询

 

4. 判断空

 

6.3、其他复杂查询

1. 排序

 

2. 聚合函数

 

3. 分组

 

4. 分⻚页查询

 

6.4、使⽤ Navicat ⼯具中的命令列

1. 

2. 命令⾏基本操作步骤

7.1、内连接

 

7.2、左连接

 

7.3、右连接

 

7.4、存在左右连接的必要性

说明: 能够体现左右连接必要性的场景为: ⾄少为三张表进⾏连接查询

注意: 实际⼯作中, 最多也就三张表连接查询

7.5、连接查询的⼩结

前提:

        1. 数据表只有⼀张

        2. 数据表中⾄少有两个字段之间有某种联系

⽅式: 通过给表起别名的形式, 将原本只有⼀张的数据表变为两张, 然后通过对 应字段实现连接查询 

8.1、查询河南省下所有市的信息 

 

8.2、查询河南省下所有的市和区的信息

 

⼦查询: 在⼀个 select 语句中,嵌⼊了另外⼀个 select 语句,那么嵌⼊的 select 语句称之为⼦查询语句

作⽤: ⼦查询是辅助主查询的,要么充当[条件],要么充当[数据源]

9.1、⼦查询语句充当条件

 

9.2、⼦查询语句充当数据源

 

10.1、ER 模型

E 表示 entry,实体: 描述具有相同特征事物的抽象[数据表]

属性: 每个实体的具有的各种特征称为属性[数据(表内的字段)]

R 表示 relationship,联系: 实体之间存在各种关系,关系的类型包括包括⼀ 对⼀、⼀对多、多对多[表和表之间的联系]

10.2、外键 

说明: 通过外部数据表的字段, 来控制当前数据表的数据内容变更, 以避免单⽅⾯移除数据, 导致关联表数据产⽣垃圾数据的⼀种⽅法

注意: 如果⼤量增加外键设置, 会严重影响除数据查询操作以外的其他操作(增/ 删/改)的操作效率, 因此在实际项⽬中很少会被采⽤, 但是在⾯试中容易被问到.

10.3、索引

说明: 可以⼤幅度提⾼查询语句的执⾏效率

注意: 如果⼤量增加索引设置, 会严重影响除数据查询操作以外的其他操作(增/ 删/改)的操作效率, 不⽅便过多添加. 

验证索引效果案例实现步骤

说明: 提供的示例⽂件可以使⽤在数据库中使⽤运⾏ SQL ⽂件⽅式导⼊! 

 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号