日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

测试人员入门级的数据库知识(SQL语句)

發(fā)布時間:2023/12/31 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试人员入门级的数据库知识(SQL语句) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:我們測試人員在測試的工作過程中或多或少的都會用到數(shù)據(jù)庫,不管有沒有用得到,我都覺得作為一名測試人員,我們都應(yīng)該要熟練掌握數(shù)據(jù)庫相關(guān)的知識,這樣才能更好的利于我們開展測試工作,而且在一定程度上對我們個人的職業(yè)生涯提升也是有所幫助的。舉一個簡單的例子:我們在測試一個登錄模塊的時候,我們可能會從功能測試,用戶體驗測試,兼容性測試這些方面來測。但是你的另一個同事,他掌握了數(shù)據(jù)庫方面相關(guān)的知識,他還可以考慮從安全方面來測試:SQL注入,就是通過把SQL命令插入到Web表單然后提交到所在頁面請求,從而達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,它是利用現(xiàn)在已有的應(yīng)用程序,將SQL語句插入到數(shù)據(jù)庫中執(zhí)行,執(zhí)行一些并非按照設(shè)計者意圖的SQL語句。所以相比之下,很明顯你的同事工作能力更能得到上級領(lǐng)導(dǎo)的認(rèn)可。

今天寫這篇文章,也是為了自已日后方便查找一些知識點(diǎn) = v?=


?

一.有關(guān)數(shù)據(jù)庫的概念

數(shù)據(jù)(Data):數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,它是描述事物的符號記錄。? ? ? ? ? ? ? ? ? ??

數(shù)據(jù)庫(Database):數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫。

二.主要接觸到的數(shù)據(jù)庫

目前主流的數(shù)據(jù)庫:Oracle Database,簡稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。可以說Oracle數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的 適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品;關(guān)系型數(shù)據(jù)庫的特點(diǎn)是將數(shù)據(jù)保存在不同的表中,在將這些表放入不同的數(shù)據(jù)庫中,而不是將所有數(shù)據(jù)統(tǒng)一放在一個大倉庫里,這樣的設(shè)計增加了MySQL的讀取速度,靈活性和可管理型也得到了很大提高,訪問以及管理MySQL數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言為SQL結(jié)構(gòu)化查詢語句。

三.數(shù)據(jù)庫的連接工具

Oracle數(shù)據(jù)庫可以用PLSQL,MySQL數(shù)據(jù)庫可以用sqlyog小海豚;還有Navicat、DBeaver等眾多連接工具,連接數(shù)據(jù)庫的工具有很多種,大家可以根據(jù)個人需求來進(jìn)行選擇。

四.SQL的簡介

Structure Query Language(結(jié)構(gòu)化查詢語言)簡稱SQL,它被美國國家標(biāo)準(zhǔn)局(ANSI)確定為關(guān)系型數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn),后被國際化標(biāo)準(zhǔn)組織(ISO)采納為關(guān)系數(shù)據(jù)庫語言的國際標(biāo)準(zhǔn)。數(shù)據(jù)庫管理系統(tǒng)可以通過SQL管理數(shù)據(jù)庫;定義和操作數(shù)據(jù),維護(hù)數(shù)據(jù)的完整性和安全性。?

SQL(Structure Query Language)語言是數(shù)據(jù)庫的核心語言,可以分為四種:

1.??DDL (Data?Definition?Language:數(shù)據(jù)庫定義語言)

2.??DML (Data?Manipulation?Language:數(shù)據(jù)庫操作語言)

3.??TCL (Transaction Control Language:事務(wù)控制語言)

4.??DQL (Data?Query?Language:數(shù)據(jù)庫查詢語言)

SQL中兩個--表示注釋的意思?

(1)DDL:隱形提交,輸入完直接點(diǎn)擊F8(execute)來執(zhí)行,不用commit

關(guān)于列的約束:

unique? ?唯一約束:列的值不能重復(fù),可以為空null
not null? 非空約束:列的值不能為空
check? ? 檢查約束:檢查列的值是否符合條件
default? ? ? 默認(rèn)值:當(dāng)沒有指定值時,則取默認(rèn)值
primary key? 主鍵:類似身份證號,表中數(shù)據(jù)唯一標(biāo)識,是唯一且非空的
foreign key? ?外鍵:外鍵的值參照自主鍵,保持?jǐn)?shù)據(jù)參照的完整性,為兩張表之間建立關(guān)聯(lián),外鍵的寫法與其他約束不一樣,外鍵還要在foreign key后面加上references 表名

例如我們現(xiàn)在創(chuàng)建一個學(xué)生表,學(xué)生表中包含了學(xué)號、名字、班級、性別、住址、出生日期和年齡,住址默認(rèn)值為召喚師峽谷,且要求學(xué)生的年齡要大于等于6歲的。

創(chuàng)建完之后,我們通過查詢語句可以查看是否創(chuàng)建成功:

如上圖一樣,我們可以看到成功創(chuàng)建了一個表格,因為我們沒有往表格中插入值,所以可以看到是沒有任何的值顯示的,而且通過這樣的方式只能看到表有哪些列名,我們還可以通過查看表結(jié)構(gòu)來具體查看列的類型,約束有哪些。打開一個命令窗口(Command Window),輸入DESC?表名;然后按回車鍵查看;如下圖,我們可以看到剛剛創(chuàng)建的學(xué)生表各列的數(shù)據(jù)類型和約束。

?我們還可以修改表的結(jié)構(gòu):

alter table 表名 add(列名 數(shù)據(jù)類型 約束)? ? ? ? ? ? #新增一列

alter table 表名 modify(列名 數(shù)據(jù)類型 約束)? ? ? ?#修改某一列

alter table 表名 drop(列名)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #刪除某一列

有創(chuàng)建表格,當(dāng)然也有刪除表格(對于剛接觸數(shù)據(jù)庫的小伙伴來講,可能對于新增刪除這些概念可能有點(diǎn)混淆,分不清drop、add、modify等等這些語句具體該什么時候用到,我應(yīng)該用哪個;其實我們只需要按照SQL的四種語言類型來去區(qū)分就不會混淆,哪些語句是屬于DDL類型的,哪些又是屬于DML的),刪除表格有兩種方法:

drop table 表名? ? ? ? ? ? #無過濾條件,直接刪除整個表所有,包括表數(shù)據(jù)和表結(jié)構(gòu)

truncate table 表名? ??? #無過濾條件,只刪除表格中的數(shù)據(jù),不刪除表格的結(jié)構(gòu),清空表格的作用

(2)DML:增刪改 結(jié)束之后要接事務(wù)的控制語言

(3)TCL 事務(wù)控制語言

Commit???提交事務(wù),語句執(zhí)行產(chǎn)生的結(jié)果生效,永久保存進(jìn)數(shù)據(jù)庫;

Rollback???回滾事務(wù),語句執(zhí)行產(chǎn)生的結(jié)果不生效,不保存進(jìn)數(shù)據(jù)庫;

Savepoint ?使當(dāng)前的事務(wù)可以回退到指定的保存點(diǎn),便于取消部分改變。

(4)DQL? 我們用到最多的查詢

?

?

補(bǔ)充:在MySQL數(shù)據(jù)庫中如果使用分頁查詢,則用limit,而不是oracle中的rownum
例如想要獲取第五到第九行的數(shù)據(jù),則是:SELECT * FROM 表名 LIMIT 4,5
因為下標(biāo)值是從0開始的,第五對應(yīng)的下標(biāo)值為4,第五到第九行一共有5行數(shù)據(jù)


?

?本人也是第一次寫博客來記錄自已工作學(xué)習(xí)所掌握的內(nèi)容,以上個人拙見,如有不妥,歡迎指導(dǎo),共同學(xué)習(xí)進(jìn)步。希望本文能對剛?cè)腴T測試這一行業(yè)的你,可以有所幫助。
?

?

?

?

?


?

總結(jié)

以上是生活随笔為你收集整理的测试人员入门级的数据库知识(SQL语句)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。