测试基础——数据库及数据库表的SQL操作(了解即可)
创始人
2024-02-01 00:58:52
0

目录

1.数据库基础概念

2.SQL介绍

3.MySQL介绍

4.数据库连接工具Navicat

5.数据类型

6.约束

7.对数据库操作的SQL语句

7.1创建数据库

7.2使用/打开/切换数据库

7.3修改数据库

7.4删除数据库

7.5查看所有数据库

7.6数据库备份

8.数据库表操作的SQL语句

8.1创建数据库表

8.2查看表结构

8.3 删除数据库表

9.表记录操作的SQL语句

9.1插入数据

9.2修改字段值

9.3删除数据


1.数据库基础概念

  • 数据库是典型的软件服务器,保存项目中产生数据的程序。
  • 表是数据库中存储数据的基本单位。
  • 注意:对于测试工作而言,如果项目页面没有实现,我们想要校验数据,可以直接查询数据库实现。
  • 数据库分类:关系型数据库(RDMS,Relational Database Management System,关系型数据库管理系统)、非关系型数据库。关系型数据库有表的概念,例如Oracle(在大型项目中使用,银行、电信等项目)、MySQL(Web项目中使用最广泛)、Microsoft SQL Server(在微软项目中使用)、PostgreSQL、Microsoft  Assess、SQLite(轻量数据库,主要应用在移动平台);非关系型数据库没有表的概念。如果软件末尾有"Lite"字样,表示软件是轻量化的。
  • 关系型数据库的核心要素:数据行(一条记录)、数据列(一个字段)、数据表(数据行的集合)、数据库(数据表的集合)。
  • 非关系型数据库:将数据以key,value、文本、图片等形式进行存储的数据库,例如Redis、MongoDB。

2.SQL介绍

  • SQL全称Sructured Query Language(结构化查询语言),主流的关系型数据库都支持通过SQL语言进行操作。
  • SQL语言分类:DQL(数据查询语言,对数据进行查询,如select,对于测试来讲查询最重要)、DML(数据操作语言,对数据进行增加、修改、删除,如insert、update、delete)、DCL(数据控制语言,对数据库进行授权和权限回收,如grant、revoke)、DDL(数据定义语言,进行数据库、表的管理,如create、drop)。
  • 注意:对于MySQL而言,SQL语句不区分大小写,凡是大写的一般不是自己写的,是自动生成的。

3.MySQL介绍

  • MySQL属于Oracle旗下产品,MySQL社区版是免费使用的,而Oracle是收费的商用版。
  • 特点:社区版免费、多平台(Windows、Linux、macOS都能用)、多语言(Java、Python都能与其交互)、适用范围广泛、是学习数据库开发和使用的首选。
  • MySQL2008年被Sun公司收购,Sun公司又被Oracle收购,MySQL原来的开发者重新开发了一个MariaDB软件。

4.数据库连接工具Navicat

  • 由于数据库软件处于服务器中,想要操作数据库就必须使用远程工具连接数据库后进行操作。
  • Navicat是最常用的工具。
  • 想要远程连接服务器的数据库,需要有数据库所在服务器的IP地址和数据库的端口号(默认是3306),向相关人员获取数据库的用户名和密码,使用数据库连接工具连接数据库即可,远程连接需要注意网络的连通性。
  • 注意:1.数据库连接名用于区分多个数据库。2.默认存在的数据库不能随意使用。3.数据库名不要写中文。4.字符集负责中文乱码问题,选utf8,排序规则选utf8-general-ci。5.需要先把数据清空,再去设计表,否则可能会报错。

5.数据类型

  • 整数: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。

6.约束

  • 主键(primary key)用于保证数据库表中每一条数据的顺序是固定的,不会由于删除或增加数据而导致数据乱序。设为主键的同时会设为非空,一般是自动递增的,且无符号,一般一张表有且只有一个主键。
  • 非空(not null):设置字段内数据必须有值,不能为空。
  • 唯一(unique):当前字段内的数据不允许有重复值。在Navicat中在"索引"中设置唯一。
  • 默认值(default):当前字段不填写值就自动填上默认值,如果填写就以填写的值为准,如果默认值为字符串,必须加引号"XXX"。
  • 外键(foreign key):一个表中的一个字段是另一个表的主键。

7.对数据库操作的SQL语句

7.1创建数据库

  • 创建数据库语法:create database 数据库名 [charset=字符编码] [collate=检验规则] ;

例如:

  •  查看数据库语法:show create database 数据库名;
  • 注意:如果查询窗口有多条SQL语句,需要先选中某条语句之后选择“运行选中语句”。

7.2使用/打开/切换数据库

  • 使用/打开/切换数据库的语法:use 数据库名;
  • 查看当前使用的数据库:select database();
  • 注意:database()是SQL的内置函数,括号不能省略。

7.3修改数据库

  • 修改数据库的语法:alter database [数据库名] [dafault] character set<字符集名> [default] collate<校对规则名>;

例如:

7.4删除数据库

  • 删除数据库的语法:drop database 数据库名;

7.5查看所有数据库

  • 查看所有数据库的语法:show databases;

7.6数据库备份

  • 在测试工作中,为了防止对数据库产生错误操作或产生垃圾数据,都需要在操作前对数据库进行适当的备份操作。垃圾数据:例如在自动化测试过程中,对注册模块操作生成的所有数据,应该清理。
  • 在数据库上,右键,选择转储SQL文件,一种是仅结构,一种是结构+数据。仅结构就是字段,结构+数据就是字段+数据,一般情况下,选择结构+字段。自定义存储路径,修改备份文件,存储即可。在数据库上,右键,选择运行SQL文件,选择备份的SQL文件,点击开始,运行成功SQL文件后,数据恢复。
  • 命令行方式连接数据库的SQL语句:mysql -u数据库用户名 -p 数据库密码,u表示username,p表示password。mysql>模式下仅支持SQL语句。
  • 备份数据库的SQL语句:mysqldump -u数据库用户名 -p 数据库名 > 备份文件名.sql,并根据提示输入数据库密码。
  • 恢复数据库的SQL语句:mysql -u数据库用户名 -p 数据库名 < 备份文件名.sql,并根据提示输入数据库密码。

8.数据库表操作的SQL语句

8.1创建数据库表

  • 创建数据库表的语法:
drop table if exists 表名;
create table 表名(字段名 类型 约束,字段名 类型 约束,...
);
  • 例如:
  • 约束包括:unsigned(无符号)、primary key(主键)、auto_increment(自动增长)、not null(非空)。
  • 通过Navicat工具获取创表语句的方法有两种:1.选择表->选右边栏->选DDL;2.show create table 表名;

8.2查看表结构

  • 查看表结构的语句:desc 表名;

8.3 删除数据库表

  • 删除表的语句:drop table 表名;
  • 作用:数据和字段均删除不再存在。

9.表记录操作的SQL语句

9.1插入数据

  • 增加一行数据的语句:1.所有字段设置值,值的顺序与表中字段的顺序对应:insert into 表名 values(...);2.部分字段设置值,值的顺序与给出的字段顺序对应:insert into 表名(字段1,...) values(值1,...);
  • 注意:主键字段自动增加,插入时需要占位,通常使用0来占位。
  • 增加多行数据的语句:1.写多条insert语句,语句之间用分号隔开:insert into 表名(...) values(...);insert into 表名(...) values(...);insert into 表名(...) values(...);...;;2.写一条insert语句,设置多条数据,数据之间用英文逗号分开:insert into 表名(...) values(...),(...),(...);

9.2修改字段值

  • 修改字段值的语句:update 表名 set 列1=值1,列2=值2,列3=值3,... where 条件;
  • 注意:where不能省略,否则会修改整列数据。

9.3删除数据

  • 删除数据的语句:delete from 表名 where 条件;
  • 注意:对于重要的数据,不能轻易执行delete操作删除,因为一旦删除这些数据就无法恢复,这时可以逻辑删除数据。逻辑删除(又叫假删除)就是通过某一指定字段的特定值表示数据是删除或被删除的状态。
  • 删除表的所有数据保留表结构的语句:truncate table 表名;或者delete from 表名;这两种方式的区别是后者只是删除数据,但是不重置主键字段的计数,而前者会重置主键字段的计数。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...