关于数据库,我首先推荐两本书吧,我觉得不错的,这两本书读完了,基本的数据库知识就都懂了,在实际测试工作中也就够用了。
由王珊、萨师煊编著的《数据库系统概论》是普通高等教育本科国家级规划教材,是大学时学过计算机专业及相关专业的同学都使用过的一本教科书。我在大学学了这么多的课程,唯有这本书是最让我感觉接近实际的,书中的sql语句在实际工作中会经常用到。
对于初学者来说,我给出的关于这本书的使用建议如下。从第一章到第五章、第七章、第九章和第十章一定要认真仔细阅读,因为这几章是讲的数据库最基本的概念。第八章和第十一章数据库编程和锁机制多读两遍,不像前面章节那么清楚,但是大概基本的东西要知道,你可以讲不出来,但是当别人和你探讨时你能理解。第六章是范式,可懂可不懂,知道有这么个东西就行。
除了上面的书,还有一本书《mysql必知必会》,这本书相对较抽象些,侧重sql语句的实际使用。如果完全没有任何基础,可以先读《数据库系统概论》,然后再读这本书。而且这本书可以作为数据库sql语句手册,随时查询sql语句怎么写。
下面说下常用的数据库有哪些,一般公司使用的数据库有mysql和oracle数据库。mysql是中小型数据库,oracle是大型数据库,一般公司使用最多的是mysql数据库。对于测试而言,数据库是为了查询数据,查看数据落库是否有问题,操作最多的就是sql语句,而在基本用的sql语句中,这两个数据库虽略有区别,但差别基本不大。所以咱们在学习的时候,学习mysql语句的编写即可。
下面我们以DBeaver为例,来说明下测试人员基本的数据库使用。
DBeaver下载地址:https://dbeaver.io/download/,下载社区版,如图1。
选择适用于你电脑的系统版本,如图2,比如我的电脑是windows系统,64位。如果不清楚自己电脑是多少位,那么可以百度搜索“如何查看电脑是32位还是64位”。
图1 社区版本
图2 选择合适系统,合适版本
安装过程选择软件安装的位置,点击下一步即可。如果安装过程遇到问题,可以百度搜索“dbeaver软件安装”,查看别人分享的安装步骤图解。
软件安装完成,便可连接数据库。
第一步:如图3所示,点击“ ”号,连接数据库。
图3 连接数据库
第二步:如图4所示,选择连接的数据库类型,是mysql数据库,还是oracle数据库,点击下一步。
图4 选择数据库类型
第三步:如图5所示,输入数据库相关内容,点击测试连接,提示成功则数据库连接成功,点击完成,则弹窗退出。
服务器地址:即数据库所在的IP地址,IP地址类似10.11.12.189,这样三个点隔开的一串数字。
端口号:3306,3358等,一般为4个字符。
数据库:即连接的是数据库是哪个。
用户名和密码:每个数据库都会设置不同权限的用户名和密码,以保证数据库中数据的安全性。
数据库连接成功,根据账号权限可以对数据库进行增删改查操作。所谓账号权限值有的账号可能只有查询权限,那么就不能修改数据库。
创建增删改查sql语句,点击sql编辑器-新建sql编辑器。
图5 mysql数据库连接
接下来说下经常使用的sql语句,包含查询数据,添加数据,删除数据,修改数据。
下面我们假设四个数据表,分别为order_main,order_item,order_status
,order_extend,用这四个表说明下增删改查sql语句的编写。
表order_main结构和数据如下
id | order_no | customer_no | address | create_time | is_valid | … |
001 | YWL2021001 | 123456 | 北京 | 2021-07-07 | 1 | |
002 | YWL2021002 | 123456 | 北京 | 2021-07-07 | 1 | |
003 | YWL2021003 | 123456 | 北京 | 2021-07-07 | 1 |
表order_item结构和数据如下
id | order_id | goods_no | plan_quantity | real_quantity | is_valid | … |
123 | 001 | YWG202101 | 5 | 5 | 1 | |
124 | 001 | YWG202102 | 5 | 3 | 1 | |
125 | 002 | YWG202103 | 3 | 3 | 1 | |
126 | 003 | YWG202102 | 5 | 5 | 1 | |
127 | 003 | YWG202103 | 6 | 6 | 1 | |
128 | 003 | YWG202104 | 4 | 4 | 1 |
表order_status结构和数据如下
id | order_id | order_status | is_valid | … |
112 | 001 | 100 | 1 | |
113 | 001 | 200 | 1 | |
114 | 002 | 100 | 1 | |
115 | 002 | 150 | 1 | |
116 | 002 | 200 | 1 | |
117 | 003 | 100 | 1 |
查询语句
单表查询
查询单号为YWL2021001的单据主档信息
select * from order_main where order_no=’YWL2021001’;
连表查询
查询单号为YWL2021002的主档和明细信息
select * from order_main t1 join order_item t2 on t1.id=t2.order_id where t1.order_no=’YWL2021001’;
插入语句
insert into 表名values(值1,值2,……);
insert into 表名 (列1, 列2,...) values (值1, 值2,……);
删除语句
delete from 表名 where 列名=值;
修改语句
update 表名 set 列名 = 新值 WHERE 列名 = 某值;
删除数据保留表结构
truncate table 表名;