關于資料庫,我首先推薦兩本書吧,我覺得不錯的,這兩本書讀完了,基本的資料庫知識就都懂了,在實際測試工作中也就夠用了。
由王珊、薩師煊編著的《資料庫系統概論》是普通高等教育大學國家級規劃教材,是大學時學過計算機專業及相關專業的同學都使用過的一本教科書。我在大學學了這麼多的課程,唯有這本書是最讓我感覺接近實際的,書中的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位”。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiMGc902byZ2PxczMmZTN2QmNiRGZ1AzM4IDO3QjZlhzYxMTOjZDN4AzLcBza5QTcsJja2FXLp1ibj1ycvR3Lc5Wanlmcv9CXt92YucWbp9WYpRXdvRnL2A3Lc9CX6MHc0RHaiojIsJye.jpg)
圖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 | ||
002 | YWL2021002 | |||||
003 | YWL2021003 |
表order_item結構和資料如下
order_id | goods_no | plan_quantity | real_quantity | |||
123 | YWG202101 | 5 | ||||
124 | YWG202102 | |||||
125 | YWG202103 | |||||
126 | ||||||
127 | 6 | |||||
128 | YWG202104 | 4 |
表order_status結構和資料如下
order_status | ||||
112 | 100 | |||
113 | 200 | |||
114 | ||||
115 | 150 | |||
116 | ||||
117 |
查詢語句
單表查詢
查詢單号為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 表名;