測(cè)試軟件開發(fā)

1.1軟件測(cè)試的行業(yè)基本介紹:

??1.1為什么需要軟件測(cè)試

? ??測(cè)試的流程:

????(1)將所有的經(jīng)理根據(jù)客戶需求來(lái)編寫需求文檔

? ? (2)開發(fā)根據(jù)需求文檔來(lái)編寫代碼

? ??????????測(cè)試需要根據(jù)需求文檔編寫測(cè)試計(jì)劃

????(3)開發(fā)人員實(shí)現(xiàn)代碼

? ??????????測(cè)試人員編寫測(cè)試用例

? ? ? ?(4)編碼結(jié)束之后由開發(fā)人員將代碼上傳測(cè)試人員需要將代碼下載并實(shí)現(xiàn)冒煙測(cè)試冒煙測(cè)試通過(guò)后在實(shí)現(xiàn)全面測(cè)試(如果發(fā)現(xiàn)bug需要將bug提交給開發(fā)人員 開發(fā)解決問(wèn)題之后測(cè)試人員需要進(jìn)行回歸測(cè)試)

? ? ? ?(5)?測(cè)試人員需要將測(cè)試報(bào)告以及測(cè)試用例整理文檔方便項(xiàng)目版本迭代的使用

?

1.任何軟件都是經(jīng)歷過(guò)不同開發(fā)階段完成,最終產(chǎn)生的軟件是有一定問(wèn)題的,就需要測(cè)試人員進(jìn)行測(cè)試

2. 當(dāng)前軟件行業(yè)并不是在功能為王,用戶對(duì)需求更嚴(yán)格,軟件的性能(延遲容易上手對(duì)內(nèi)存的消耗)需要測(cè)試人員

1.2為啥選擇測(cè)試

????1.?測(cè)試需求越來(lái)越多

????2.?開發(fā)人員是來(lái)創(chuàng)造世界,測(cè)試人員是將世界變得更美好

1.2?為什么不讓開發(fā)人員自己做測(cè)試

????1.?很多測(cè)試人員本身就是開發(fā)出身

????(1)從專業(yè)角度去看.讓專業(yè)的人員去做專事

????(2)從思維定勢(shì):開發(fā)永遠(yuǎn)的真諦是我的代碼沒(méi)問(wèn)題

????(3)從測(cè)試力度:開發(fā)人員不會(huì)舍得

????(4)從客戶角度:用戶會(huì)有千奇百怪的想法或者是超出想象的思維

1.3軟件測(cè)試的介紹:

1.3.1定義:

? ??通過(guò)手動(dòng)或者是工具進(jìn)行對(duì)測(cè)試對(duì)象進(jìn)行操作,從而將預(yù)期結(jié)果和實(shí)際結(jié)果進(jìn)行匹配驗(yàn)證是否存在差異

1.3.2軟件測(cè)試的作用:

(1)通過(guò)測(cè)試工作可以發(fā)現(xiàn)并修復(fù)軟件中存在的缺陷,從而使軟件的壽命增長(zhǎng)客戶使用信心增強(qiáng)(2)測(cè)試可以記錄軟件在運(yùn)行過(guò)程中產(chǎn)生的一些數(shù)據(jù)從而為決策提供數(shù)

(2)測(cè)試可以降低同類產(chǎn)品開發(fā)遇到的風(fēng)險(xiǎn)

1.4軟件測(cè)試的原則:

????1.?測(cè)試證明軟件是存在缺陷的

????2.?不能執(zhí)行窮盡測(cè)試

????3.?缺陷存在群集現(xiàn)象(2:8原則 20%核心功能 )

????4.?測(cè)試應(yīng)提早介入(從定義需求的時(shí)候就有了測(cè)試)

????5. 某些測(cè)試需要依賴特殊環(huán)境(操作系統(tǒng)瀏覽器不同得到手機(jī)或者手機(jī)版本)

????6.?殺蟲劑現(xiàn)象

????7.?不存在缺陷謬論(開發(fā)人員說(shuō)自己的代碼沒(méi)問(wèn)題的時(shí)候你怎么辦?)

1.5測(cè)試級(jí)別

? ??軟件開發(fā)都由自己的開發(fā)模型(瀑布v ?vv ?h)

? ??測(cè)試人員會(huì)根據(jù)對(duì)軟件的操作步驟進(jìn)行測(cè)試級(jí)別分類:

????1.?單元測(cè)試(UT)

? ??????在軟件測(cè)試中,單元就是組成軟件的最小單位(類函數(shù)組件)

????2.?集成測(cè)試(IT)

? ??????將多個(gè)不同的模塊進(jìn)行組合在一起進(jìn)行驗(yàn)證(接口是否ok)

????3.?系統(tǒng)測(cè)試(ST)

? ??????測(cè)試人員充當(dāng)用戶對(duì)軟件進(jìn)行測(cè)試

? ??????系統(tǒng)測(cè)試分為:

????????1.功能測(cè)試 驗(yàn)證當(dāng)前軟件的主體功能是否ok

????????2.兼容性測(cè)試 驗(yàn)證當(dāng)前軟件在不同的環(huán)境下是否ok

????????3.安全測(cè)試 驗(yàn)證軟件是否只有授權(quán)用戶提供功能是使用

????????4.性能測(cè)試 驗(yàn)證軟件是否消耗其他的資源

????4.?驗(yàn)收測(cè)試

? ??????軟件發(fā)布之后由客戶實(shí)現(xiàn)買單

? ??驗(yàn)收測(cè)試分為:

? ??1.α 測(cè)試 – 內(nèi)測(cè)

? ??????Alpha測(cè)試是由用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是開發(fā)機(jī)構(gòu)內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試。

? ??????開發(fā)者坐在用戶旁邊,這是在開發(fā)者受控的環(huán)境下進(jìn)行的測(cè)試。由開發(fā)者隨時(shí)記錄下錯(cuò)誤情況和使用中的問(wèn)題。

? ??2.β 測(cè)試 – 公測(cè)

? ??????β測(cè)試是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。開發(fā)者通常不在測(cè)試現(xiàn)場(chǎng),

? ??????Beta測(cè)試不能由程序員或測(cè)試員完成。

? ??????當(dāng)開發(fā)和測(cè)試根本完成時(shí)所做的測(cè)試,而最終的錯(cuò)誤和問(wèn)題需要在最終發(fā)行前找到。

? ??????這種測(cè)試一般由最終用戶或其他人員員完成,不能由程序員或測(cè)試員完成。

? ??該測(cè)試形式的優(yōu)點(diǎn):

? ??????· 測(cè)試由最終用戶實(shí)施。

? ??????· 大量的潛在測(cè)試資源。

? ??????· 提高客戶對(duì)參與人員的滿意程度。

? ??????· 與正式或非正式驗(yàn)收測(cè)試相比,可以發(fā)現(xiàn)更多由于主觀原因造成的缺陷。

? ??缺點(diǎn)

? ??????· 未對(duì)所有功能和/或特性進(jìn)行測(cè)試。

? ??????·測(cè)試流程難以評(píng)測(cè)。

? ??????· 最終用戶可能沿用系統(tǒng)工作的方式,并可能沒(méi)有發(fā)現(xiàn)或沒(méi)有報(bào)告缺陷。

? ??????· 最終用戶可能專注于比較新系統(tǒng)與遺留系統(tǒng),而不是專注于查找缺陷。

? ??????· 用于驗(yàn)收測(cè)試的資源不受項(xiàng)目的控制,并且可能受到壓縮。

? ??????· 可接受性標(biāo)準(zhǔn)是未知的。

? ??????· 您需要更多輔助性資源來(lái)管理 Beta測(cè)試員。

? ??3.UAT測(cè)試 – 正式

1.1.6 按測(cè)試對(duì)象來(lái)進(jìn)行分類:

? ??盒 是測(cè)試的對(duì)象

? ??1.白盒測(cè)試

? ??軟件的底層代碼

? ??2.黑盒測(cè)試

? ??軟件的主體功能

? ??3.灰盒測(cè)試

? ??介于黑盒和白盒之間(接口測(cè)試)

1.1.7 按測(cè)試對(duì)象是否執(zhí)行分類:

1.靜態(tài)測(cè)試

測(cè)試不執(zhí)行 測(cè)試的可以有布局 頁(yè)面

2.動(dòng)態(tài)測(cè)試

將軟件運(yùn)行在真實(shí)的環(huán)境中進(jìn)行測(cè)試

1.1.8 按測(cè)試手段分類:

1.手動(dòng)測(cè)試

由測(cè)試人員對(duì)測(cè)試對(duì)象實(shí)現(xiàn)手動(dòng)驗(yàn)證

優(yōu)點(diǎn): 可以靈活改變測(cè)試操作以及測(cè)試環(huán)境

2.自動(dòng)化測(cè)試

1.腳本測(cè)試

2.借助第三方測(cè)試工具

1.1.9 軟件的質(zhì)量:(功能靠用 效率可移)

在當(dāng)前行業(yè)中基于iso的一套標(biāo)準(zhǔn)用來(lái)定義軟件的質(zhì)量

特性:

1.功能性 滿足客戶在顯示或者是隱式的需求

2.易用性 易學(xué) 容易上手

3.可靠性

4.效率性

5.可維護(hù)性

6.可移植性

2.測(cè)試用例

1.1測(cè)試用例的定義

為了特定目的而設(shè)計(jì)的一組輸入測(cè)試,執(zhí)行條件,預(yù)期結(jié)果為了驗(yàn)證該功能是否滿足需求。


測(cè)試用例作用:

測(cè)什么怎么測(cè)


Eg: 手機(jī)

按開機(jī)鍵相當(dāng)于一組輸入測(cè)試

手機(jī)是否有電執(zhí)行條件

能夠正常顯示預(yù)期結(jié)果

手動(dòng)按開機(jī)鍵測(cè)試過(guò)程


1.2如何編寫測(cè)試用例

1. 測(cè)試用例都是wps表來(lái)進(jìn)行編寫

2.測(cè)試用例中含有

(1)編號(hào)該用例的編號(hào)

(2)日期

(3)測(cè)試人員

(4)項(xiàng)目

(5) 分項(xiàng)目

(6)執(zhí)行條件

(7) 測(cè)試過(guò)程

(8) 預(yù)期結(jié)果

(9)實(shí)際結(jié)果


在公司內(nèi)測(cè)試人員需要大量的編寫測(cè)試用例一天至少30-50條測(cè)試用例的編寫

測(cè)試用例的模板公司都不一致

?

1.3 bug的優(yōu)先級(jí)

1.致命缺陷

2.嚴(yán)重bug

3.一般bug



1.4測(cè)試用例的設(shè)計(jì)方法

1. 等價(jià)類劃分

????????使用場(chǎng)景:在有輸入框使用等價(jià)類劃分以及邊界值法混合使用

????????按照需求將窮盡數(shù)據(jù)進(jìn)行分類區(qū)分去有效的數(shù)據(jù)和無(wú)效的數(shù)據(jù)

????????有效數(shù)據(jù)成為有效等價(jià)類


????????無(wú)效數(shù)據(jù)成為無(wú)效等級(jí)類


2. 邊界值

????使用場(chǎng)景:在有輸入框使用等價(jià)類劃分以及邊界值法混合使用

????有效邊界值????1-100

????無(wú)效邊界值????-1 ---負(fù)數(shù)的無(wú)窮盡

???? ???????????????? ???? 101--整數(shù)的無(wú)窮盡

3. 因果法

????????應(yīng)用場(chǎng)景:

????????一個(gè)界面有多個(gè)操作,多個(gè)操作之間有一定的組合關(guān)系或者是限制關(guān)系

? ? ? ? 輸入不同的操作會(huì)產(chǎn)生不同的效果


4. 場(chǎng)景法

應(yīng)用場(chǎng)景:

在界面沒(méi)有過(guò)多的填寫項(xiàng),所有的操作都是通過(guò)鼠標(biāo)的單擊雙擊

金融類游戲類硬件交互類


ATM取款機(jī)

取款失敗的場(chǎng)景:

1.密碼錯(cuò)誤

2. 賬號(hào)余額不足

3. Atm中沒(méi)有錢

4. 吞卡

5. 超限

6.無(wú)效的銀行卡

7.非銀行卡

5.判定表

6.正交

7.隨機(jī)法

使用場(chǎng)景:列表數(shù)據(jù)中實(shí)現(xiàn)隨機(jī)數(shù)據(jù)

在無(wú)窮中的數(shù)據(jù)中隨機(jī)選擇進(jìn)行測(cè)試


1.1測(cè)試強(qiáng)度

測(cè)試強(qiáng)度在有需求文檔或者api的時(shí)候可以根據(jù)需求文檔測(cè)試

在沒(méi)有測(cè)試文檔或者是api的時(shí)候,可以根據(jù)個(gè)人經(jīng)驗(yàn)是否測(cè)試


考慮的因素:

1. 2個(gè)整數(shù)(正整數(shù) 負(fù)整數(shù))

2.2個(gè)輸入框是否為空

3.特殊符號(hào)

4.中英文字母/漢字

5. 提醒框/輸入框是否重置


Bug是指在代碼中存在的


1.2軟件缺陷

定義:缺陷就是軟件的問(wèn)題,最終表現(xiàn)為沒(méi)有客戶的需求


1.3哪些屬于軟件缺陷

1. 軟件沒(méi)有達(dá)到規(guī)格說(shuō)明書定義的功能

2.軟件出現(xiàn)了規(guī)格說(shuō)明書上指明不能存在的錯(cuò)誤

3.軟件功能超出了說(shuō)明書上的范圍

4.軟件測(cè)試人員或者用戶覺(jué)得不友好的

5.軟件未達(dá)到說(shuō)明書上應(yīng)該具有的功能


1.4軟件缺陷的表現(xiàn)形式

1.功能上沒(méi)有實(shí)現(xiàn)或者部分沒(méi)有實(shí)現(xiàn)

2.設(shè)計(jì)不合理功能不明確的邏輯不清楚的或者是邏輯本身就是存在矛盾

3.實(shí)際結(jié)果與預(yù)期結(jié)果不同

4.沒(méi)有達(dá)到規(guī)格要求說(shuō)明書上的要求性能指標(biāo)

5.運(yùn)行有錯(cuò)的崩潰中斷頁(yè)面混亂

6.數(shù)據(jù)不正確精度不夠不完整或者是格式不統(tǒng)一

7.用戶不能接受的問(wèn)題。如果存取時(shí)間過(guò)長(zhǎng),頁(yè)面不美觀小廣告太多

8.硬件或者軟件存在的其他問(wèn)題




1.5軟件缺陷的狀態(tài)(生命周期)

1.提交--測(cè)試人員提交發(fā)現(xiàn)的缺陷給開發(fā)

2.打開--將缺陷轉(zhuǎn)一個(gè)待處理的狀態(tài)

3.拒絕--開發(fā)者不認(rèn)為這是一個(gè)缺陷

4. 修復(fù)--開發(fā)者將缺陷進(jìn)行修改

5.關(guān)閉--測(cè)試人將進(jìn)行回歸測(cè)試之后認(rèn)為該缺陷已經(jīng)解決后

6.推遲--將問(wèn)題持續(xù)到下一個(gè)版本中在去解決 但是要記錄詳細(xì)的修復(fù)日期或者版本


測(cè)試人員新提交的缺陷為新建狀態(tài),在確認(rèn)有效后將缺陷狀態(tài)改為打開狀態(tài),

開發(fā)人員修改后已修復(fù)狀態(tài)測(cè)試人員需要進(jìn)行回歸測(cè)試,如果驗(yàn)證問(wèn)題已解決將狀態(tài)改為修復(fù)狀態(tài)如果經(jīng)過(guò)回歸測(cè)試驗(yàn)證缺陷依然存在將缺陷的狀態(tài)改為打開狀態(tài)讓開發(fā)再次修復(fù)。如果開發(fā)人認(rèn)為此缺陷需要延期修復(fù)將缺陷的狀態(tài)改為延期(推遲狀態(tài))

延期的時(shí)候有項(xiàng)目負(fù)責(zé)人開發(fā)主管測(cè)試主管確認(rèn)才可以延期否則還是打開狀態(tài)


1.6軟件缺陷的嚴(yán)重程度進(jìn)行劃分

1.low ????--表面性錯(cuò)誤 ??

2.Medium ?--影響到一個(gè)對(duì)立的功能,僅僅發(fā)生在特定條件下 與需求定義的不臺(tái)一直 斷斷續(xù)續(xù)的出現(xiàn)的問(wèn)題

3.High ?????--功能點(diǎn)沒(méi)有實(shí)現(xiàn)不符合客戶的需求 導(dǎo)致丟失數(shù)據(jù)

4.Veryhigh ??--頻繁死機(jī) 大部分功能不能使用

5.Critical ????--系統(tǒng)癱瘓 異常退出 死循環(huán) 嚴(yán)重計(jì)算失誤


結(jié)局缺陷的優(yōu)先級(jí)


1.low ?--時(shí)間和資源允許情況下進(jìn)行修復(fù)

2.Medium --不會(huì)延遲發(fā)布

3.Highh ?--必須在發(fā)布之前解決

4.Veryhigh ???--必須解決 ?

5.? -- ?


1.7軟件的缺陷的分類:

1.系統(tǒng)缺陷

2.數(shù)據(jù)缺陷

3.數(shù)據(jù)庫(kù)缺陷

4.接口缺陷

5.功能缺陷

6.安全性缺陷

7.兼容行缺陷

8.性能缺陷

9.界面缺陷


17缺陷報(bào)告

1.7.1書寫規(guī)范:

1.標(biāo)題簡(jiǎn)潔 ?提供缺陷的本質(zhì)信息即可

2.復(fù)現(xiàn)的步驟要詳細(xì) 可以用數(shù)字編號(hào)(測(cè)試用例的編號(hào))

3.實(shí)際結(jié)果要描述浮現(xiàn)后的結(jié)果

4.列出期望結(jié)果(在測(cè)試用例中存在期望結(jié)果可以不寫)

5.提供條件(可以在測(cè)試用例)

6.提供嚴(yán)謹(jǐn)?shù)臏y(cè)試報(bào)告給開發(fā)人員


Mysql

1.1數(shù)據(jù)庫(kù)的介紹:

數(shù)據(jù)庫(kù)從小到大的分類:

大型數(shù)據(jù)庫(kù)Oracle ?Db2

中型數(shù)據(jù)庫(kù)sqlserver

小型數(shù)據(jù)庫(kù)mysql

微型數(shù)據(jù)庫(kù)sqlite

1.2數(shù)據(jù)庫(kù)的安裝

數(shù)據(jù)庫(kù)分為服務(wù)端和客戶端

客戶端分為常用的可視化工具類:貓抓小海豚

安裝的注意事項(xiàng):

1. 如果安裝失敗需要在注冊(cè)表將數(shù)據(jù)完全刪除(運(yùn)行輸入regedit使用ctrl+F 查找并刪除)

2. 安裝的時(shí)候一定要更改編碼utf-8

3.允許多個(gè)人員多數(shù)據(jù)庫(kù)的訪問(wèn)

4.Mysql的端口號(hào) ?3306 ??mysql只有用戶權(quán)限 root

5.卸載mysql的服務(wù)端 ?同時(shí)將文件安裝后的文件夾刪除 ?



1.3數(shù)據(jù)庫(kù)的數(shù)據(jù)類型

整數(shù)類型int ?bigint

小數(shù)類型float ?double

字符串類型char(10)數(shù)據(jù)庫(kù)會(huì)分配一個(gè)長(zhǎng)度為10個(gè)空間 長(zhǎng)度是不可以 發(fā)生改變

Varchar(10)數(shù)據(jù)庫(kù)會(huì)分配一個(gè)長(zhǎng)度為10個(gè)空間 長(zhǎng)度是可以發(fā)生改變的

時(shí)間類型date ??time ?datatime ??timestamp(時(shí)間戳)

大數(shù)據(jù)類型blob ?clob

文本類型text

1.4 sql的分類

DDL數(shù)據(jù)庫(kù)定義語(yǔ)言 ?????create ?alter ?drop (對(duì)庫(kù)和表的操作)

DCL數(shù)據(jù)庫(kù)控制語(yǔ)言 ?????grant ?revoke

DML數(shù)據(jù)庫(kù)的操作語(yǔ)言 ????insert into ???update ?delete

DQL數(shù)據(jù)庫(kù)的查詢語(yǔ)言 ?????select ?order by ?group by ?limit ?inner join ?left join ???right ?join

1.5 sql的注意事項(xiàng)

1. mysql不區(qū)分大小寫

2.數(shù)據(jù)庫(kù)的中注釋以 # ??/**/ ??--

3.數(shù)據(jù)庫(kù)的 “”??‘’沒(méi)有區(qū)別

1.6sql表語(yǔ)句

1.查看所有數(shù)據(jù)庫(kù)

Show databases ?

2.新建數(shù)據(jù)庫(kù)

Create database數(shù)據(jù)庫(kù)的庫(kù)名 ?

3.刪除數(shù)據(jù)庫(kù)

Drop database數(shù)據(jù)庫(kù)的庫(kù)名

4.切換數(shù)據(jù)庫(kù)

Use數(shù)據(jù)庫(kù)庫(kù)名

5.查看當(dāng)前數(shù)據(jù)庫(kù)的表

???Show tables



1創(chuàng)建表

Create table表名(

字段名數(shù)據(jù)類型約束條件,

字段名1數(shù)據(jù)類型1,

字段名2數(shù)據(jù)類型2,

)



Sql約束條件:

自增auto_increment ???

主鍵primary key

非空not null

唯一unique

默認(rèn)值default

外鍵foreign key(實(shí)現(xiàn)多表的聯(lián)查)



Eg:

??Crate table student(

Id ?int ?primary key ?auto_increment unique,

Stu_id ?int not null unique,

Stu_name varchar(20),

Stu_sex default sex(‘男’),

????Stu_age int

)


?

1.6.2對(duì)表結(jié)構(gòu)的操作

查看表結(jié)構(gòu)

Desc表名 ??查看的是表的 字段名 ?數(shù)據(jù)類型 約束條件

查看建表語(yǔ)句

???????? Show crate table表名

修改表名

Alter table舊表名 rename 新表名

修改字段

???? Alter table表名 change 字段名 新字段名 數(shù)據(jù)類型

添加字段

Alter table表名 add 字段名 數(shù)據(jù)類型

刪除字段

Alter table表名 drop 字段名

刪除表

??? Drop table表名


?

1.6.3對(duì)表的增 刪 ?改

????????????? 增:

1. 單條數(shù)據(jù)的增加

Insert ?into表名(字段名) values (字段值)

2. 多條數(shù)據(jù)的增加

? Insert ?into表名 (字段名) values (字段值1),(字段值2),(字 段3).。。。。




刪除:delete from表名 where 刪除條件

1.物理刪

將數(shù)據(jù)從數(shù)據(jù)庫(kù)中刪除

2.邏輯刪

將數(shù)據(jù)的狀態(tài)從1改為 0 ?(0 為不顯示 ?1顯示)


????????修改:

??? Update form表名 set ?字段名=字段值 where 條件

?? 跟新一行一列

???? Update表 set 字段名 = 字段值 where id = 1

更新一行多列

Update表 set 字段名 = 字段值 where ?name=‘張鵬’

更新多行一列

Update表名 set 字段名 = 字段值 where id>=3 and id <=5

跟新多行多列

Update表名 set 字段名 = 字段值 where ?id = 2 or id= 3

跟新多個(gè)字段

Update表名 set 字段名1= 字段值 1, 字段2 = 字段值2 where 條件



???1.6.4對(duì)表的查詢

?? 1.?查詢所有:(*代表的是通配符 代表所有數(shù)據(jù) 可以換成 具體的字段查詢)

Select * from表名

2.條件查詢

Select * from表名 where 條件


3.區(qū)間查詢


Select ?* from表名 where id >3 and id<5 ???

Select ?* from表名 where id >3 or id<5 ???

[if !supportLists]4.?[endif]排序查詢order by

升序asc(mysql中默認(rèn)的就是asc)

降序desc


Select * from表名 order by stu_age asc/desc

5.分頁(yè)查詢limit初始值,記錄行數(shù)(每頁(yè)顯示的行數(shù))

??Select * from stu limit 0,3

每頁(yè)記錄數(shù)pagesize

頁(yè)碼數(shù)pageNumber


Limit(pageNumber-1) * pagesize ??, ?pagesize

真分頁(yè)將查詢出來(lái)的所有數(shù)據(jù)直接分頁(yè)

假分頁(yè)將查詢出來(lái)的所有數(shù)據(jù)在頁(yè)面展示的時(shí)候在進(jìn)行分頁(yè)



6.去重查詢distinct一般和聚合函數(shù)一起使用

7. 模糊查詢like

????%相當(dāng)于任意字符

????_相當(dāng)于一個(gè)字符


Select * from表名 where ?字段名 like ‘%張%’

Select * from表名 where ?字段名 like ‘張_’

8.分組查詢group by

Select * from表名 group by sex ?=‘男’

9. having實(shí)現(xiàn)分組進(jìn)行查詢

?

1.6.5 ?sql中范圍符號(hào)

? And ??or ??in ?

???????? Between and ???1 > M< 10 ?(錯(cuò)誤的)


1.7聚合函數(shù)

1.7.1求和 ?

?? Sum(字段名)


? Select ?sum (stu_age) from表名

1.7.2求平均

Avg(字段名)

Select ?avg(stu_age) from表名

1.7.3求最大值

Max(字段名)

Select ?max(stu_age) from表名

1.7.4求最小值

Select ?min(stu_age) from表名


1.7.5求總的行數(shù)

Select ?count(stu_id) from表名


1.8單表查詢的公式

Select分組條件 或者 聚合函數(shù)

From表名

Where條件 1

Group by分組條件

Having分組后的條件

Order by排序條件

Limit起始位置,記錄數(shù)


1.9多表聯(lián)查

--實(shí)現(xiàn)使用笛卡爾積 ?

--內(nèi)連接 ??INNER JOIN ?

--外連接 ??左外鏈 ?LEFT JOIN

-- 右外聯(lián)RIGHT JOIN


-- student和中間表 ?stu_subject 實(shí)現(xiàn)相連

???select stu_name,sj.subjectname from student ?as stu

???INNER JOIN stu_subject ?as stu_sub

???ON stu.stu_id = stu_sub.stu_id

--中間表和 subject 表實(shí)現(xiàn)相連

???INNER JOIN `subject` as sj

???ON stu_sub.subjectnumber = sj.subjectnumber









??????

??????????????????



?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容