版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
SQLserver基礎(chǔ)理論學(xué)習(xí):信息體系結(jié)構(gòu)原則1、信息體系結(jié)構(gòu)原則1.1信息管理的3個主要方面:數(shù)據(jù)庫設(shè)計和開發(fā)、企業(yè)數(shù)據(jù)中心的管理、商業(yè)智能分析1.2信息體系結(jié)構(gòu)原則首先必須有詳細的信息清單,包括信息的位置、來源、敏感性、當(dāng)前和未來信息的價值以及當(dāng)前的擁有者1.3要確保數(shù)據(jù)能夠在未來使用,必須降低當(dāng)前設(shè)計的耦合程度。1.4數(shù)據(jù)存儲目標(biāo)1.4.1簡單性要對復(fù)雜性感到敬畏,應(yīng)不斷調(diào)整設(shè)計,直到整個設(shè)計小組都認為它是能夠滿足需求的最簡單解決方案。字典中“困難”的同義詞包含“復(fù)雜”是有道理的。簡單的解決方案通常是優(yōu)雅而容易理解的。(應(yīng)讓事情盡可能簡單,且不能再簡單一愛因斯坦)做到簡單性的要求:對需求有全面認識掌握大量可供參考的模式和解決方案對技術(shù)規(guī)則和行業(yè)術(shù)語有全面認識創(chuàng)造性掌握行業(yè)知識,直到何時及如何改善技術(shù)系統(tǒng)對用于實現(xiàn)設(shè)計的工具和設(shè)備以及解決方案的運行環(huán)境有深入認識設(shè)計人員互相信任、分享想法而不考慮個人得失不斷優(yōu)化設(shè)計,直到設(shè)計出優(yōu)雅而簡單的設(shè)計方案(8)對復(fù)雜性抱有健康的敬畏心態(tài)1.4.2有用性有用性包括三點:(1)滿足組織需求(2)適應(yīng)性:設(shè)計與數(shù)據(jù)存儲的范圍和用途相稱數(shù)據(jù)存儲設(shè)計模型包括:關(guān)系DBMS、對象數(shù)據(jù)庫、對象/關(guān)系數(shù)據(jù)庫、通用模式、數(shù)據(jù)倉儲數(shù)據(jù)庫的范圍包含數(shù)據(jù)在組織內(nèi)的使用度(個人、部門、營業(yè)單位、公司、企業(yè))以及數(shù)據(jù)的持續(xù)性(當(dāng)前、當(dāng)年、永遠)(3)數(shù)據(jù)格式可供應(yīng)用程序使用以及易于提取數(shù)據(jù)存儲配置包括5種類型:(1)主數(shù)據(jù)存儲:運營數(shù)據(jù)庫或聯(lián)機數(shù)據(jù)處理數(shù)據(jù)庫,用于收集第一代交易數(shù)據(jù)。在組織中必不可少,且是唯一的。主數(shù)據(jù)庫存儲需要在方便數(shù)據(jù)檢索和數(shù)據(jù)更新之間取得平衡。每個運營單位都可能有個主數(shù)據(jù)存儲。(2)緩存數(shù)據(jù)存儲:可選,是主數(shù)據(jù)存儲的只讀拷貝,用于提供數(shù)據(jù),減輕主數(shù)據(jù)庫的負載。優(yōu)化它,可提供數(shù)據(jù)庫檢索性能。(3)引用數(shù)據(jù)存儲:主要為只讀,存儲組織中較少變更的數(shù)據(jù)。類似圖書館的目錄區(qū)。優(yōu)化它,也可很高檢索性能。(4)數(shù)據(jù)倉庫:從企業(yè)多個主數(shù)據(jù)存儲收集大量數(shù)據(jù),并使用提取、轉(zhuǎn)化和加載過程,將格式和架構(gòu)轉(zhuǎn)為通用,簡化數(shù)據(jù)檢索。同時存儲歷史記錄,減輕運營數(shù)據(jù)存儲的負載。組織必須有一個通用的數(shù)據(jù)倉庫。主要任務(wù)是數(shù)據(jù)檢索和分析。5)數(shù)據(jù)集市:數(shù)據(jù)倉庫的子集,包含經(jīng)過預(yù)先匯總的數(shù)據(jù)。主數(shù)據(jù)存儲的設(shè)計方法(1)關(guān)系DBMS傳統(tǒng)的數(shù)據(jù)庫,它講類似或相關(guān)的數(shù)據(jù)放到一個表中。適合滿足穩(wěn)定的數(shù)據(jù)架構(gòu)需求,這種需求只包含少量的is_a關(guān)系。(2)面向?qū)ο蟮腄BMS00DBMS必須存儲對象,因此判斷OODBMS優(yōu)劣的一個重要標(biāo)準(zhǔn)就是它能否存儲復(fù)雜的對象,如XML文件、.net文件OODBMS非常適合這樣的程序:架構(gòu)可能發(fā)生重大變化、包括復(fù)雜數(shù)據(jù)類型、類之間涉及多個is-a關(guān)系、包括復(fù)雜的多關(guān)聯(lián)以及要求將數(shù)據(jù)同應(yīng)用程序輕松關(guān)聯(lián)起來。有三種主要的面向?qū)ο蟮臄?shù)據(jù)庫A對象持久化數(shù)據(jù)存儲(0PDBMS):相當(dāng)于一個存儲對象的狀態(tài)倉庫B面向?qū)ο蟮臄?shù)據(jù)存儲(00DBMS)C對象/關(guān)系數(shù)據(jù)存儲(0/RDBMS)(3)通用模式DBMS也稱為動態(tài)鉆石模式,有時被用作關(guān)系數(shù)據(jù)庫產(chǎn)品中的面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計。在應(yīng)用程序需要動態(tài)屬性時,這種設(shè)計非常有用。1.4.3完整性數(shù)據(jù)實際上是實體和屬性,因此數(shù)據(jù)完整性由實體完整性和域完整性組成。(1)實體完整性:本質(zhì)就是規(guī)范化2)域完整新:保證屬性只取有效值,包括為空性。引用完整性:外鍵域的完整性用戶定義完整性事務(wù)完整性:事務(wù)是一個邏輯工作單元,如插入100行。數(shù)據(jù)庫產(chǎn)品的質(zhì)量是根據(jù)其事務(wù)對ACID屬性的遵循程度衡量的。A(atomicity)原子性:事務(wù)必須是原子的,這意味著在事務(wù)結(jié)束時,耀目所有操作成功,要么都失敗。C(consistency)—致性:這意味著在事務(wù)執(zhí)行前數(shù)據(jù)庫處于一致性狀態(tài),事務(wù)結(jié)束后,數(shù)據(jù)庫回到一致性狀態(tài)。一致性意味著每行和每個值都與描述一致且滿足所有的約束。I(isolation)隔離性:每個事務(wù)都必須是隔離的,不受其他事務(wù)的影響,不管是否有其他事務(wù)執(zhí)行,它都必須使用它開始時的數(shù)據(jù)集繼續(xù)執(zhí)行下去。D(durability)持久性:不管系統(tǒng)是否發(fā)生故障,事務(wù)的結(jié)果都是永久性的。(6)事務(wù)缺陷臟讀:如果事務(wù)能夠讀取其他商務(wù)尚未提交的更新,則被稱為臟讀。臟讀可能導(dǎo)致在讀取的數(shù)據(jù)未提交前,而寫入該數(shù)據(jù)的事務(wù)可能被回滾。不可重復(fù)讀:類似臟讀,指事務(wù)能看到其他事務(wù)已提交的數(shù)據(jù)更新。如果兩次讀取得到的結(jié)果不同,則存在不可重復(fù)讀性事務(wù)缺陷。虛幻行:危害最小,指事務(wù)的更新操作不僅影響結(jié)果集的數(shù)據(jù)值,還導(dǎo)致select語句返回不同記錄集。丟失更新:兩個用戶同時更新一行數(shù)據(jù)時,第二個覆蓋了第一個的更新,導(dǎo)致更新丟失。死鎖:多個項目的多個事務(wù)爭用一個數(shù)據(jù)資源時容易發(fā)生死鎖,需要一個事務(wù)主動放棄或退出。(7)隔離級別:未提交讀、已提交讀、可重復(fù)讀和可序列化,2005還引入了快照隔離,但容易導(dǎo)致更新丟失。1.4.4性能物理磁盤的性能是最嚴重的瓶頸,因此提高性能的關(guān)鍵之處在于減少執(zhí)行任務(wù)時需要讀取的物理頁數(shù)量。提高性能的技術(shù)有:(1)設(shè)計:簡化設(shè)計,不要包含過多的表,過多游標(biāo)等(2)基于集合的處理:基于集合的優(yōu)秀查詢能夠?qū)φ麄€數(shù)據(jù)集進行處理,且只讀取一次所需數(shù)據(jù)頁,而基于游標(biāo)的解決方案分別對每一行進行處理。(3)索引是查詢和數(shù)據(jù)之間的橋梁,它能減少執(zhí)行表讀取操作時需要讀取的物理頁數(shù)。要更精確滴設(shè)計索引,必須了解數(shù)據(jù)庫引擎的查詢優(yōu)化器和索引結(jié)果的工作原理。索引有主力提高數(shù)據(jù)讀取的性能,但給寫入性能帶來負面影響,插入和更新數(shù)據(jù)時,要確保索引數(shù)據(jù)同步。(4)分區(qū):將數(shù)據(jù)分散到多個磁盤中。(5)緩存:預(yù)先從磁盤中讀取數(shù)據(jù),以便數(shù)據(jù)庫操作需求時能夠在內(nèi)存中找到它們。1.4.5可用性恢復(fù)計劃、冗余性、存檔方式以及網(wǎng)絡(luò)速度都將影響可用性,可用性通常用幾個9表示,7個9表示在99.99999%情況下可用,5個9表示在99.999%可用。以此類推。(1)冗余:找出可存在的故障點,并通過過程備用解決方案來避免或降低故障帶來的影響。(2)恢復(fù):利用備份文件還原數(shù)據(jù)。1.4.6可擴展性(1)抽象層:降低數(shù)據(jù)存儲和應(yīng)用程序之間的耦合程度,一種最主要的方法是使用抽象層。這樣可以避免因為缺乏封裝導(dǎo)致兩者之間的耦合過深。(2)歸一化:將類似的尸體組合成一個實體。1.4.7安全性(1)數(shù)據(jù)中心的物理安全性(2)操作系統(tǒng)的安全性信息安全還包括:(1)限制訪問(2)信息所有權(quán)(3)審核跟蹤優(yōu)化理論和SQLserver(1)架構(gòu)設(shè)計避免過于復(fù)雜精心挑選鍵處理可選數(shù)據(jù)實現(xiàn)抽象層(2)查詢問題最佳解決方案復(fù)雜的業(yè)務(wù)邏輯查詢、子查詢、CTE動態(tài)生成DDL游標(biāo)對列表進彳丁逆規(guī)范化多賦值標(biāo)量和游標(biāo)交叉表包含透視和case表達式的查詢導(dǎo)航層次結(jié)構(gòu)UDF或CTE計算累計總計和動態(tài)和游標(biāo)(3)索引(4)并發(fā)性:鎖定和阻塞問題。nolock并不是很好的解決方式,很危險??梢圆捎每s短事務(wù)的持續(xù)時間來實現(xiàn)。(5)高級伸縮性快照隔離分區(qū)表索引視圖servicebrokerSQLserver基礎(chǔ)理論學(xué)習(xí):關(guān)系數(shù)據(jù)庫建模3.關(guān)系數(shù)據(jù)庫建模模擬現(xiàn)實數(shù)據(jù)建模過程:(1)手機觀察結(jié)果和需求(2)現(xiàn)實世界的邏輯表示(3)可見實體的識別和設(shè)計(4)架構(gòu)設(shè)計(輔助和支持實體)5)應(yīng)用程序結(jié)構(gòu)設(shè)計可見實體可見實體通常是大多數(shù)人能夠識別的對象。(1)每個元組(行)都是獨立的(2)主鍵(3)表、行和列3.3識別多個實體(1)多個對象(2)對象之間的關(guān)系(3)組織對象(4)一致的查找值(5)復(fù)雜對象3.4關(guān)系模式關(guān)系使用鍵將實體關(guān)聯(lián)起來,包含如下兩個主要屬性:基數(shù):在關(guān)系的每一端可能存在的對象數(shù)可選性:關(guān)系是可選的也是強制的(1)輔助實體和外鍵兩個對象彼此相關(guān)聯(lián)時,通常一個實體為主實體,另一個實體為輔助實體。主實體中的一個對象將關(guān)聯(lián)到輔助實體中的多個對象或元組。(2)關(guān)系基數(shù)指在關(guān)系的每一端有多少元組。在關(guān)系的主鍵端只能有一個元組,而在外鍵端可以有多個元組。(3)關(guān)系的可選性:可選關(guān)系和強制關(guān)系對于數(shù)據(jù)庫的完整性非常重要。4)繪制數(shù)據(jù)模型關(guān)系圖ChenER關(guān)系圖繪制方法非常簡單,用sisio即可。(5)關(guān)系種類一對多一對一超類/子類多對多(6)類別實體有時也稱為查找表,(7)自反關(guān)系在兩個相同類型的實體之間建立關(guān)系,比如人與人之間的上下級關(guān)系,家庭成員之間的關(guān)系等。規(guī)范化規(guī)范化是減少更新異常的工具。(1)實體/屬性的設(shè)計原則:每個數(shù)據(jù)庫實體必須描述一個“事務(wù)”屬性和事務(wù)之間必須存在一對一的關(guān)系每個屬性必須描述其所屬實體,而不能描述其相關(guān)的實體。(2)范式規(guī)范化通常以范式的方式定義。每種范式都描述了設(shè)計實體和屬性時可能出現(xiàn)的錯誤,并提供了糾正這種錯誤的規(guī)則。因此范式類似于書面語言的語法規(guī)則。規(guī)范化數(shù)據(jù)庫與平面文件數(shù)據(jù)庫比,優(yōu)點如下:消除重復(fù)存儲減少鎖的爭用縮小文件數(shù)據(jù)建模人員應(yīng)該一開始就按照第三范式設(shè)計邏輯架構(gòu)。(3)第一范式符合條件A每個數(shù)據(jù)單元都是用標(biāo)量屬性表示的,標(biāo)量值指的是“可以用標(biāo)尺上的一個點表示”的值B所有數(shù)據(jù)必須用唯一屬性表示,每個屬性都必須有唯一的名稱和用途。C所有的數(shù)據(jù)都必須用唯一的元組表示。(4)第二范式確保每個屬性是實體屬性。每個屬性都必須有對應(yīng)的主鍵。如果其他屬性只依賴于主鍵的一個屬性,而不依賴于主鍵的其他屬性,這被稱為部分依賴,違反了第二范式。(5)第三范式檢查傳遞依賴。傳遞依賴和部分依賴的相似之處在于,他們值得都是屬性不完全依賴于主鍵。當(dāng)A依賴于B,B依賴于主鍵時,就發(fā)生了傳遞依賴。同第二范式一樣,解決方式是將非依賴屬性移到新實體中。*如果實體有很好的主鍵,每個屬性都是標(biāo)量且都完全依賴于主鍵,則邏輯設(shè)計符合第三方式,大多數(shù)數(shù)據(jù)庫設(shè)計滿足第三范式即可。(6)BCNF范式位于三四范式之間,用于處理實體有兩組主鍵的問題。BCNF規(guī)定,在這種情況下,應(yīng)將實體拆分為兩個實體,每個實體包含一個主鍵。7)第四范式用于處理復(fù)雜的符合主鍵導(dǎo)致的問題,如果將兩個相互獨立的屬性組合成主鍵,同時還要有第三個屬性,如果沒有第三個屬性,僅靠著兩個屬性不能唯一標(biāo)識實體,則違反了第四范式。(8)第五范式用于設(shè)計涉及多個(3個以上)實體的復(fù)雜關(guān)系,如果設(shè)計正確可以設(shè)計出三元關(guān)系,其中每個關(guān)系的基數(shù)都可以是一或多。關(guān)系代數(shù)關(guān)系代數(shù)有8個關(guān)系運算符組成(1)限制:返回符合制定條件的行(2)投影:從數(shù)據(jù)集中返回指定列(3)積:關(guān)系乘法,返回兩個數(shù)據(jù)集的所有可能的數(shù)據(jù)集合。(4)聯(lián)合:關(guān)系加法和減法,將一個表垂直堆疊到另一個表上,將兩個表合并(5)交集:返回兩個表中都有的行(6)差集:返回一個數(shù)據(jù)集中特有的行(7)連接:返回兩個表的水平合并結(jié)果,合并是根據(jù)都有的行來匹配(8)除:返回兩個數(shù)據(jù)集中完全匹配的內(nèi)容另外sqlserver還開發(fā)以下功能:子查詢在關(guān)系代數(shù)中,使用以下術(shù)語:表或數(shù)據(jù)集被稱為關(guān)系或?qū)嶓w行被稱為元組列被稱為屬性SQLserver基礎(chǔ)理論學(xué)習(xí):SQLserver2005體系結(jié)構(gòu)4SQLserver2005體系結(jié)構(gòu)4.1數(shù)據(jù)訪問體系結(jié)構(gòu)sqlserver首先是一個數(shù)據(jù)庫服務(wù)器(1)客戶/服務(wù)器數(shù)據(jù)庫模型客戶/服務(wù)器數(shù)據(jù)庫介紹:客戶進程請求服務(wù)器進程提供服務(wù),后者處理客戶發(fā)出的請求。所有的數(shù)據(jù)庫工作都是在數(shù)據(jù)庫服務(wù)器中執(zhí)行的,完成后講數(shù)據(jù)集的拷貝發(fā)送到客戶端,實際的數(shù)據(jù)和索引不會離開服務(wù)器。相對于桌面數(shù)據(jù)庫(acess),它性能更高,更安全可靠??蛻?服務(wù)器數(shù)據(jù)庫職能數(shù)據(jù)庫服務(wù)器職責(zé):A處理數(shù)據(jù)修改和檢索要求B執(zhí)行數(shù)據(jù)密集型處理C實施所有的數(shù)據(jù)庫規(guī)則和約束D實現(xiàn)數(shù)據(jù)安全性數(shù)據(jù)庫客戶端職責(zé):A以易于識別、引人入勝和適用的格式將數(shù)據(jù)呈現(xiàn)給用戶B提供使用各種工具、數(shù)據(jù)和報表的界面C將請求提交給服務(wù)器(2)N層設(shè)計在客戶/服務(wù)器應(yīng)用程序中,除了客戶端和服務(wù)器進程外,還涉及其他進程,經(jīng)常使用中間層來處理連接、連接池和業(yè)務(wù)邏輯。使用中間層可以讓多個用戶使用為數(shù)不多的數(shù)據(jù)庫服務(wù)器連接,到要考慮用戶的身份驗證方式。在有多個服務(wù)器可用的情況下,通過使用通用連接對象,在服務(wù)器A發(fā)生故障時,將用戶從服務(wù)器A切換到服務(wù)器B將更容易,連接對象成為能夠檢測到故障并在服務(wù)器之間切換的單個點。這種解決方案在使用數(shù)據(jù)庫鏡像時非常有用。(3)面向服務(wù)的體系結(jié)構(gòu)面向服務(wù)的體系結(jié)構(gòu)(SOA)是客戶/服務(wù)器數(shù)據(jù)庫模型的替代品,SOA使用標(biāo)準(zhǔn)的HTTP調(diào)用和XML,而不是多個系統(tǒng)之間編寫自定義的客戶/服務(wù)器接口,這樣多個系統(tǒng)可以用相同的連接口。SOA使用與有多個超大型系統(tǒng)的大企業(yè),適應(yīng)用作輔助數(shù)據(jù)訪問方法,以簡化同其他超大型系統(tǒng)的通信,除此,不要使用SOASQLserver中的服務(wù)SQLserver不僅僅是一個關(guān)系數(shù)據(jù)庫引擎,它是一組與數(shù)據(jù)庫相關(guān)的服務(wù)和組件,可結(jié)合使用它們來創(chuàng)建功能強大的數(shù)據(jù)庫后端解決方案。1)關(guān)系引擎關(guān)系引擎有時也被稱為數(shù)據(jù)庫引擎,它是sqlserver的核心,該進程負責(zé)處理所有關(guān)系數(shù)據(jù)庫的工作。sql是一種描述性語言,這意味著SQL向引擎描述要處理的查詢,引擎負責(zé)完成其他工作。SQLserver支持在同一臺物理服務(wù)器中安裝多達50個關(guān)系引擎實例,雖然它們共享一些組件,但每個實例都是一個獨立的SQLserver(2)Transact-SQLSQL小組擴展了ANSI定義,在很多方面進行了改進,添加了新命令,刪了一些命令,這就是Transact-SQL(T-SQL),SQLserver只理解一種語言,那就是T-SQL。(3)VisualStudio和CLRSQLserver最激動人心的功能之-'是集成了visualStudio.ManagementStudio是基于VisualStudio集成開發(fā)環(huán)境(IDE),SQLserver內(nèi)部操作系統(tǒng)(SQLOS)實際上是在SQLserver內(nèi)部托管(host)了.net的共同語言運行時(CLR)名詞解釋:CLR是公共語言運行時,CommonLanguageRuntime)和Java虛擬機一樣也是一個運行時環(huán)境,它負責(zé)資源管理(內(nèi)存分配和垃圾收集),并保證應(yīng)用和底層操作系統(tǒng)之間必要的分離。IDE,即IntegratedDevelopmentEnvironment,是“集成開發(fā)環(huán)境"的英文縮寫,可以輔助開發(fā)程序的應(yīng)用軟件。軟件是用于程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。就是集成了代碼編寫功能、分析功能、編譯功能、debug功能等一體化的開發(fā)軟件套。所有具備這一特性的軟件或者軟件套(組)都可以叫做IDE。如微軟的VisualStudio系列,Borland的C++Builder,Delphi系列等。該程序可以獨立運行,也可以和其它程序并用。(4)ServiceBrokersqlserver2005新增的功能,通過一個托管數(shù)據(jù)隊列,通過平滑負載,提高了性能和伸縮性。創(chuàng)建面向服務(wù)的體系結(jié)構(gòu)時,ServiceBroker是一個重要服務(wù)。復(fù)制服務(wù)全文搜索服務(wù)通過windows管理工具>服務(wù)來啟動和停止NotificationServices可通過編程使其根據(jù)數(shù)據(jù)變更發(fā)送信息,消息幾乎可以發(fā)送給任何設(shè)備。(8)服務(wù)器管理對象(SMO)它是暴露sqlserver的配置和管理功能的一組對象,使得能夠在.net前段代碼中使用它們。(9)SQL代理可選進程,可配置為系統(tǒng)啟動時自動運行。分布式事務(wù)協(xié)調(diào)器(DTC)負責(zé)以兩階段的方式提交跨越多個SQLserver的事務(wù)。通過windows管理工具〉服務(wù)來啟動和停止SQLmail讓sqlserver能夠通過SMTP將電子與偶見發(fā)送到外部郵箱。BusinessIntelligenceServices(BI)商業(yè)智能(BI)是SQLserver2005最擅長的領(lǐng)域之一。SQLserver2005提供了三種智能服務(wù):(1)IntegrationServices(ISorSSIS,它表示SQLServerIntegrationServices):幾乎可以在任何數(shù)據(jù)源之間傳輸數(shù)據(jù),它是SQLserver的提取-轉(zhuǎn)換-加載(ETL)工具。BI使用圖形工具來定義如何將數(shù)據(jù)從一個數(shù)據(jù)源移到另一個數(shù)據(jù)源。IS包能夠復(fù)制數(shù)據(jù)列,執(zhí)行復(fù)雜的轉(zhuǎn)換和處理數(shù)據(jù)移動發(fā)生的異常。IS非常適用于數(shù)據(jù)轉(zhuǎn)換。(2)ReportingServices(RS)(3)AnalysisServices(AS):是一種提供商業(yè)智能或聯(lián)機分析處理的服務(wù)。能讓開發(fā)人員定義包含多維的數(shù)據(jù)集。多維數(shù)據(jù)集中包含根據(jù)超大型數(shù)據(jù)庫預(yù)先計算的匯總數(shù)據(jù),讓用戶快捷瀏覽多維數(shù)據(jù)集中的總計和小計。這三種服務(wù)都是使用BusinessIntelligenceDevelopmentStudio開發(fā)的。SQLserver2005的版本這里說的版本(edition)指的是包含的功能集不能的安裝包。而不是SQLserver2000SQLserver2005等版本(version)企業(yè)(開發(fā))版標(biāo)準(zhǔn)版工作組版SQLserver速成版SQLservereverywhere版SQLserver的工具和組件(1)SQLservermanagementstudio供管理員和程序開發(fā)人員使用的類似visualstudio的集成環(huán)境,其核心是強大的對象資源管理器。2)SQLServerConfigurationManager這個工具用于啟動和停止各種服務(wù)器,可以通過開始菜單或managementstudio啟動它。(3)外圍應(yīng)用配置器默認狀況下,很多sqlserver的功能都是被禁用,以減少sqlserver的暴露程度,這些功能大部分都可以使用T-SQL來啟用。(4)BusinessIntelligenceDevelopmentStudio類似managementstudio,但針對BI進行優(yōu)化。(5)SQL集成幫助(6)SQLProfiler監(jiān)視sqlserver的流量和事件(7)性能監(jiān)視器(8)數(shù)據(jù)庫優(yōu)化顧問(9)命令行實用程序:SQLCmdBulkCopy這些能夠讓開發(fā)人員在DOS提示符下或命令行調(diào)度程序中執(zhí)行SQL代碼或大容量復(fù)制操作。SQLserver2005功能包下載包提供了二十多個驅(qū)動程序以及支持向后兼容及其他系統(tǒng)兼容的代碼,還包含以下有用的工具有實用程序:SQLserver升級顧問數(shù)據(jù)庫遷移助理最佳實踐工具AdventureWorks示例數(shù)據(jù)庫,替代以前的Northwind和Pubs4.8探索元數(shù)據(jù)SQLserver使用四個系統(tǒng)數(shù)據(jù)庫進行自我管理,另外還有一個model數(shù)據(jù)庫。Master:包含有關(guān)服務(wù)器中數(shù)據(jù)庫的信息MSDB:包含諸如備份和作業(yè)等活動列表Tempdb:包含用戶、批處理、存儲過程和SQLserver引擎本書使用的臨時表。Reference:該數(shù)據(jù)庫被隱藏,從master中分離出來,旨在使得升級服務(wù)包更容易。Model:用于創(chuàng)建新數(shù)據(jù)庫的模板數(shù)據(jù)庫。元數(shù)據(jù)是有關(guān)數(shù)據(jù)的信息,SQLserver支持4種元數(shù)據(jù):目錄視圖:提供有關(guān)靜態(tài)元數(shù)據(jù)的信息動態(tài)管理視圖和函數(shù):通過探索服務(wù)器的當(dāng)前狀態(tài),提供有關(guān)諸如內(nèi)存、線程、緩存中的存儲過程和連接等的數(shù)據(jù)。兼容性視圖:模擬以前版本中的表,用于向后兼容系統(tǒng)架構(gòu)視圖:ANSISQL92標(biāo)準(zhǔn)視圖??捎糜诓榭慈魏螖?shù)據(jù)庫產(chǎn)品的架構(gòu)。SQL補充學(xué)習(xí)(一):CROSSJOIN1.CROSSJOIN除了內(nèi)連接(innerjion),外連接(leftjoin,rightjoin,fulljoin),還支持交叉連接。交叉連接返回被連接兩個表的卡迪爾乘積,即:卅氐Q擁曲且曲
CROSSJOIN語法select列名from表名1crossjoin表名2where表名1.列名=表名2.列名CROSSJOIN實例樣例數(shù)據(jù):序號姓名語文數(shù)學(xué)序號姓名語文數(shù)學(xué)地理歷史5蟲蟲6775596名名閃7743554虹紅益吟4的47834558775AU2MLAU2MJLL要求:用crossjoin語句找出兩表中學(xué)生序號相同的學(xué)生,并將其所有字段組合在一個表中。selecta.序號,b.姓名,a.班級,a.年齡,b.語文,b.數(shù)學(xué),b.地理,b.歷史fromTable_4asbcrossjoinTable_5asawherea.序號=b.序號執(zhí)行結(jié)果:審結(jié)果1也消息|序號」姓名班…年???」語??,|數(shù)…地理歷史i4Lj紅紅56檢34489472■:■5屯由676775NULL5?-3G名名15757-743f55'48小小j6558f?75我們可以發(fā)現(xiàn),用下面語句,效果是一致的:selecta.序號,b.姓名,a.班級,a.年齡,b.語文,b.數(shù)學(xué),b.地理,b.歷史fromTable_4asb,Table_5asawherea.序號=b.序號注:實際上將crossjoin替換成“,,”效果相同。如果不加后面的where條件語句,將會返回32行。SQL補充學(xué)習(xí)(二):自身連接自身連接是指數(shù)據(jù)表與其自身產(chǎn)生連接,因此在實現(xiàn)時,需要使用別名來配合使用2.1自身連接實例樣例數(shù)據(jù):響田FAN切收丸..託mTabljF/ikiiFAJCIlJbh…一工話"4”-WAHFOGDATA...dbo.Table2序號姓名語文數(shù)學(xué)地理歷史:5蟲蟲6775flM596名名757755斗虹紅曲斗4遼47834E58775MLMULL用自身連接得出歷史成績大于70的人的信息。語句:selecta.序號,a.姓名,a.語文,a.數(shù)學(xué),a.地理,a.歷史fromTable_4asa,Table_4asbwherea.序號=b.序號andb.歷史>70執(zhí)行結(jié)果:可以看出,它與下面語句效果一致:select*fromTable_4where歷史>70注:實際上自身連接的操作對象是數(shù)據(jù)表本身。SQL補充學(xué)習(xí)(三):INTERSECT語句和EXCEPT語句3.INTERSECT語句和EXCEPT語句intersect語句可以用來查兩個表中的“公共”數(shù)據(jù)信息,即“交叉”數(shù)據(jù)信息。INTERSECT返回INTERSECT操作數(shù)左右兩邊的兩個查詢都返回的所有非重復(fù)值。EXCEPT語句則是用來查詢上述“公共”信息“除外”才信息。EXCEPT從左查詢中返回右查詢沒有找到的所有非重復(fù)值。而與UNION聯(lián)合查詢語句一樣,INTERSECT語句和EXCEPT語句查詢的兩個表必須具有相同的結(jié)構(gòu),即他們的列必須相似,數(shù)目相等,順序相同,且數(shù)據(jù)類型兼容。INTERSECT語句和EXCEPT語句select列名from表名1intersectselect列名from表名2select列名from表名1exceptselect列名from表名23.2intersect實例樣例數(shù)據(jù).dbi>.Taltle.lWABF^DATA...LgueryS.5,ql*:<W^A1T5DATA...db^.Table,idname5^hooladdress.dsts?1開明BEIJIPJG■2010-1-1OiOOiOO2'小明三峽XIANGFAN切1詁-環(huán)0:00:00WIIII育才BEIJING19SS-4-Z0:Q0:Q04蟲里明天2006-4-30:00:00*ML402/1O2,f[!ULLAUZiA9FAI?DATA...dbo.Table_B?WABFAJJGDm...dbo.TableJ'ffAHTMGBATA...LQueryl.sqlfid姓躬地址時間1步名肓才BEIJINGio-L-ia:oa:oa2水明三映地AM略FAM201-3-4-4ft:0ft:00?*ML^ULLAU271Wnu.i要求:求出上面兩表中的共同部分。姓名姓名,SELECT[id],[姓名],[學(xué)校],[地址],[時間]FROM[mydata].[dbo].[Table_6]intersectSELECT[id],[name],[school],[address],[data]FROM[mydata].[dbo].[Table_1]執(zhí)行結(jié)果:r結(jié)果自消息id姓名1學(xué)校地址時間1不明三嗾:.^lANGFAN2013-04-0400:30:00.000要求:輸出上面兩表中共同信息除外的信息SELECT[id],[姓名],[學(xué)校],[地址],[時間]FROM[mydata].[dbo].[Table_6]exceptSELECT[id],[name],[school],[address],[data]FROM[mydata].[dbo].[Table_1]執(zhí)行結(jié)果:J結(jié)果|由消息idi姓名{學(xué)校也址時間11小名育才BEIJING'2010-01-0100:00:00.300注:輸出結(jié)果列名與第一個select語句中的表的列名一致。SQL補充學(xué)習(xí)(四):在select語句中使用子查詢4.子查詢子查詢是指將查詢結(jié)果作為另一個查詢參數(shù)的查詢4.1在select語句中使用子查詢實例-血-tfANFAUGDATA-.ueryl4.sql+摘要姓名|學(xué)校地址年齡時間小毛巨九.南昌…i&2004-6-70:00:00張與新東方北京…i+21]05-6-50:00:00化化育才北京…2008-^-40;00;00MILrwmL/im要求:要求求出每個學(xué)生與平均年齡的差距語句:select年齡,(selectAVG(年齡)fromTable_2)as平均年齡,(年齡-(selectAVG(年齡)fromTable_2))as與平均年齡差距fromTable_2執(zhí)行結(jié)果:SQL補充學(xué)習(xí)(五):在from語句中使用子語句5.在from語句中使用子語句在select語句中的from子句中,也經(jīng)常會用到子查詢5.1在from語句中使用子語句實例樣例數(shù)據(jù):丸..心o.TabljF丿曾AWAJGIllbk…起。一工話臨4上WAHFA1TGDATA...dbo.Tat.le2序號姓名語文數(shù)學(xué)地理匝史■5蟲蟲6775596名名.7577胃55斗虹紅斗4S947834558775MSAM4WMS要求:輸出學(xué)生各科成績總分,按從高到底排
select*from(select姓名,sum(語文+數(shù)學(xué)+歷史+地理)as總分fromTable_4groupby姓名)tablorderby總分執(zhí)行結(jié)果:J■■果爲(wèi)捎息姓名總分[中至HNULL紅紅20^名名25D不小251SQL補充學(xué)習(xí)(六):在where語句中使用子查詢6.在where語句中使用子查詢實例:樣例數(shù)據(jù)■-叢-血一饑業(yè)2丫""WANFAUGDATA-.u&ryl4.eqL*j摘要姓名學(xué)校地址年齡時間小毛巨九.南昌i&2004-6-70:00:00張與新東方北京…i+2j]05-6-50:00:00化化育才北京…2008-^-40;00;00?*MILrwmL/im要求:要求求出年齡大于平均年齡的每個學(xué)生與平均年齡的差距語句:select年齡,(selectAVG(年齡)fromTable_2)as平均年齡,(年齡-(selectAVG(年齡)fromTable_2))as與平均年齡差距fromTable_2where年齡>=(selectAVG(年齡)fromTable_2)執(zhí)行結(jié)果:圉皓果]冶消息1姓名年…平均年…與平均年齡差距-ft--1-1-化化2418SQL補充學(xué)習(xí)(七):IN語句的子查詢7.in語句的子查詢7.1in語句的子查詢實例樣例數(shù)據(jù)表-Abo.TaBle2WAHFAITGDATA...ueryl4.sql*摘要姓名丨學(xué)校地址年齡時間小毛巨人,南畠|>11&2004-6-70;00;00張與新東方北京…1+21105-6-50:00:00化化育才北京…24-2008-4-40:00:00MILML/im要求:用in語句子查詢查詢出年齡小于20的語句如下:select姓名,學(xué)校,地址,年齡fromTable_2where姓名in(select姓名fromTable_2where年齡<20)執(zhí)行結(jié)果:結(jié)果臥消息|姓名學(xué)校'地址年齡|1i小車j:m南2張與新東方北京14SQL補充學(xué)習(xí)(八):在多表查詢中使用子查詢在多表查詢中使用子查詢在多表查詢中使用子查詢實例樣例數(shù)據(jù):’fAaFAM^BATA...dbo.Iable5WABFAJTGDkTA...dbo.Table.序曇班級年齡115E45Q454E6567615756036眥£/imML要求:輸出語文成績高于70分的學(xué)生的序號班級年齡語句如下:SELECT序號,班級,年齡FROMTable_5where序號in(select序號fromTable_4where語文>70)SQLSQL補充學(xué)習(xí)(十):ANY運算符和ALL運算符的子查詢執(zhí)行結(jié)果:SQL補充學(xué)習(xí)(九):使用EXISTS語句的子查詢使用EXISTS語句的子查詢EXISTS語句用來測試集合是否為空,在子查詢中返回true和false。通常情況下,EXISTS語句與子查詢結(jié)合使用,并且只要子查詢至少返回一個值,則EXISTS語句的值為true。9.1使用EXISTS語句的子查詢樣例莎HA1JFAN切收丸..吐mT命"5…一砒■工話?4丫-WAHFOGDATA...dbo.Table2序號姓名語文數(shù)字,地理庾棗■5蟲蟲6775他f596名名757755斗虹紅罰斗4的47834558775Mi...dLo.Iable5WAHFAJTGLkTA...dbo.Table.序曇班級?年齡115E453454565676157560酬6ML/imML查詢在Table_4中有成績的學(xué)生信息select序號,班級,年齡fromTable_5asawhereexists(select*fromTable_4where序號=a.序號)執(zhí)行結(jié)果:序號班級5625E586固結(jié)果|自執(zhí)行結(jié)果:序號班級5625E586固結(jié)果|自消息|EXISTS表達式前面還可以加上NOT運算符,表示不存在某個子查詢條件中。比如上面的代碼前加notselect序號,班級,年齡fromTable_5asawherenotexists(select*fromTable_4where序號=a.序號)執(zhí)行結(jié)果:同皓果]E備消息序號班級|年齡1545■34疔斗75610.ANY運算符的子查詢和ALL運算符的子查詢在子查詢中經(jīng)過會用到any運算符,表示跟子查詢中的每一個值進行比較。在比較過程中,如果有一個值為真,則整個子查詢結(jié)果集的比較值就為真。all運算符與any不同在于,它需要所有比較結(jié)果都為真,整個子查詢結(jié)果集才為真。10.1ANY運算符的子查詢實例要求:從表中查詢除了語文成績最低的人以為的所有人的各科成績。select*fromTable_4where語文>any(select語文fromTable_4)執(zhí)行結(jié)果:討結(jié)果鞘息序號「姓名]語「數(shù)…地建歷史[[5|蟲蟲6名名8土小G775NULL757143斜更0759.55?510.2比較運算符與any連用時的取值比較運算符+any所取子查詢的結(jié)果“〉、>二、!〈”+“any”取最小值“二”+“any”取所有值,相當(dāng)于in“?”+“any”相當(dāng)于notin“<、<=、?。尽?“any”最大值SQLSQL補充學(xué)習(xí)(十一):Having語句的子查詢SQLSQL補充學(xué)習(xí)(十一):Having語句的子查詢因為any表示認識一個的意思,比如大于,大于任何一個值即可,所以只要大于最小值就可以了。10.3ALL運算符的子查詢實例樣例數(shù)據(jù):要求:查出分數(shù)scroe大于所有BEIJING地區(qū)學(xué)生score的學(xué)生信息語句:SELECT*FROM[mydata].[dbo].[Table_1]wherescore>all(selectscorefromTable_1whereaddress='BEIJING')執(zhí)行結(jié)果:I的消息泊namej:^Ehooladdressscoredata1I+蟲蟲耳月天NULL90'^006-04-0300:00:00.000SQLSQL補充學(xué)習(xí)(十二):嵌套子查詢SQLSQL補充學(xué)習(xí)(十二):嵌套子查詢10.Having語句的子查詢having只能與select語句一起使用,通常在groupby子句中使用,否則跟where子句一樣。Having語句的子查詢樣例數(shù)據(jù)/fkBTASGDATJL...dbo.TabledWMTFAlTG-DATk...里號!姓名購物花即1LIming34,00002wanqzi'54.00003LIming4^.00004Liaodong69.00005-壬子50,0000卜■650.0000采71W4M2AW要求:查詢出表中每個人的購物總花費,并輸出大于人平均花費的人的信息SELECT姓名,sum(購物花費)as消費總額fromTable_3groupby姓名havingsum(購物花費)>(selectAVG(購物花費)fromTable_3)執(zhí)行結(jié)果:囿結(jié)果|陰消息姓名消費總額'129.0^76'84.983269.333412.嵌套子查詢子查詢也可以出現(xiàn)在其他子查詢語句中,通常將位于其他子查詢的子查詢稱為嵌套子查詢。12.1嵌套子查詢實例樣例數(shù)據(jù):語句如下:SELECT序號,班級,年齡fromTable_5where序號in(select序號fromTable_4where數(shù)學(xué)>(selectAVG(數(shù)學(xué))fromTable_4))執(zhí)行結(jié)果:要求:Table_5中的查詢出序號、班級、年齡以及Table_4中的語文的平均成績,并要求學(xué)口結(jié)果島消息1序號班級年舲角iE71;615生的語文成績要低于平均語文成績。selectdistincta.序號,a.班級,a.年齡,(selectAVG(語文)fromTable_4)as語文平均成績fromTable_4asb,Table_5asawherea.序號in(select序號fromTable_4where語文>(selectAVG(語文)fromTable_4))執(zhí)行結(jié)果:a結(jié)果|由消息序號旺"年…丁語文平均成続G74S2、?卡1549SQL補充學(xué)習(xí)(十三):CASE語句交叉表查詢CASE13.交叉表查詢使用交叉表查詢不僅使數(shù)據(jù)容易管理,而且能生成一種方便閱讀的表格數(shù)據(jù)。CASE語句CASE語句可以返回多個結(jié)果的表達式,將某個表達式與一組簡單表達式進行比較,從而得到所需結(jié)果。13.1.1CASE語句語法Caseinput_expressionWHENwhen_expressionTHENresult_expression[…n][ELSEelse_expression]END13.1.2CASE語句實例樣例數(shù)據(jù):要求:查詢出時間中三個時間段,每個人的總消費金額。語句:SELECT時間,sum(case姓名when'LIming'Then購物花費elsenullend)as'LIming',sum(case姓名when'wangzi'Then購物花費elsenullend)as'wangzi',sum(case姓名when'xiaodong'Then購物花費elsenullend)as'xiaodong'FROM[mydata].[dbo].[Table_3]groupby時間執(zhí)行結(jié)果:1結(jié)黑-J消息時問|LImirigwangzi扁odorig12011-03;2300:00:00.00050.4433NULLNULL?2011-04-03W;00;OC,000J4.6SS&34.4463.3.3343.2011-04-3030:00:00.00043;987750.543^::NULL要求:查詢出三個人在每個時間段的消費金額SELECT姓名,sum(case時間when'2011-03-2300:00:00.000'Then購物花費elsenullend)as'2011-03-2300:00:00.000',sum(case時間when'2011-04-0300:00:00.000'Then購物花費elsenullend)as'2011-04-0300:00:00.000',sum(case時間when'2011-04-3000:00:00.000'Then購物花費elsenullend)as'2011-04-3000:00:00.000'FROM[mydata].[dbo].[Table_3]groupby姓名執(zhí)行結(jié)果:園結(jié)弟弗消息姓名2011-03-Z300:00:00.0002011-04-0300:0000.0002011-04-3000:00:00.0001LIming50.4433f,:'Ja4.66GG'43.937?士wangziNULL34.4450.5433','wiaodongNULL69.3334NULLSQL補充學(xué)習(xí)(十五):select和selectinto語句插入數(shù)據(jù)15.select和selectinto語句插入數(shù)據(jù)15.1select語句插入數(shù)據(jù)用insertintoselect語句插入數(shù)據(jù)的一個重要用途就是備份表。15.1.1select語句插入數(shù)據(jù)語法insertinto表名1select列名from表名2where條件15.1.2select語句插入數(shù)據(jù)實例帀邯凰切垃丸..心o.TabljF丿曾ABTAJGIllJjrT一起。一工話.4”WAHFAUGDATA...dbo.Tal.le2序號姓名語文數(shù)學(xué)地理歷史■5蟲蟲6775596名名757755斗虹紅益吟447834558775卜楽AU2MJLLMLA/ULLAU2MJLL要求:創(chuàng)建新表,將上面數(shù)據(jù)中語文大于60分的人的成績備份。語句:createtable表4備份表(序號int,姓名varchar(20)null,語文intnull,數(shù)學(xué)intnull,地理intnull,歷史intnull)goinsertinto表4備份表select*fromTable_4where語文>60select*from表4備份表執(zhí)行結(jié)果:o語句插入數(shù)據(jù)o也可向表中插入數(shù)據(jù)。o語法select列名,列名,.into表名2from表名1where條件語句o實例樣例數(shù)據(jù):要求:將序號1-5的人成績備份到新表1-5中select序號,姓名,語文,數(shù)學(xué),地理,歷史into前5fromTable_4where序號between1and5select*from前5執(zhí)行結(jié)果:結(jié)果1□消息序號姓名語…數(shù)…|地理歷史茫[蟲玄6775NULL5924紅紅;23448347注:每次最后的select*只是為了查看操作的效果。SQL補充學(xué)習(xí)(十六):使用子查詢插入數(shù)據(jù)信息16使用子查詢插入數(shù)據(jù)信息使用子查詢插入數(shù)據(jù)信息實際上是insertinto…se語句,并將子查詢放置在查詢條件中。16使用子查詢插入數(shù)據(jù)信息實例樣例數(shù)據(jù):..dbc.Table$-/lASTkH^BATA...dLo.TaBle<WJJJFOGDATA...dbo.Table2姓名語文數(shù)學(xué)地理歷史■5蟲蟲6775W/59名名75774355斗虹紅2344894734556775/1MZML磁fW/A/m
dinTable5dinTable5WWA2TGDHA...dbo.Table.班級年熬115斗53.4S'4565676157568蕉6眥£/im要求:將在表4中有成績的同學(xué)的序號、班級和年齡備份到新表中。createtable備份表3(序號int,班級intnull,年齡intnull)insertinto備份表3select序號,班級,年齡fromTable_5asTwhereEXISTS(select序號fromTable_4where序號=T.序號)orderby序號select*from備份表3執(zhí)行結(jié)果:詰果■i|J消息I班級[年魏—i°|5'62、67TjE154836SQL補充學(xué)習(xí)(十七):使用SQL刪除數(shù)據(jù)17使用SQL刪除數(shù)據(jù)
樣例數(shù)據(jù):z^ABFAH&DATA...lbo.Table5?-MFAJItJDkTA...dbo-Tstl.—班級1年嚴?115乞4呂3斗54E65f7&1575:&&365461051155/IU£Am/bUZ帀硼翹DAT丸..心o.TabljF/tAWAJGnibh…Mb。--WAHFA1TGDATA...dbo.Table2序號姓名語文數(shù)字地理匝史5蟲蟲6775596名名J57755斗虹紅44的47e小爪558775Ml..VLU4WMlMJL117.1刪除指定條件的單行數(shù)據(jù)要求:刪除Table_5中序號為11的記錄行deletefromTable_5where序號=11select*fromTable_5執(zhí)行結(jié)果:回皓果島消1.11序號班一.|:年鹼hT52'…二453’_4544-5&5561e157568E2G'9a-4〕Q5.5刪除指定條件的多行記錄要求:在上述基礎(chǔ)上,刪除Table_5中序號在8-10之間的記錄deletefromTable_5where序號between8and10select*fromTable_5執(zhí)行結(jié)果:■E1結(jié)果][序號班..!年齡1!15224.5345445G5561G615115617.3刪除所有記錄刪除前面?zhèn)浞莸那?語句如下:deletefrom前5select*from前5執(zhí)行結(jié)果:17.4使用TRUNCATETABLE語句刪除數(shù)據(jù)truncatetable語句用于刪除表中所有數(shù)據(jù),它比用delete省略where刪除所有數(shù)據(jù)要快得多。區(qū)別在于:delete是一次一行刪除,在事務(wù)處理日志中記錄相關(guān)刪除操作及刪除行中的列值,這樣在刪除失敗時可以用事務(wù)處理日志回復(fù)數(shù)據(jù)。但truncatetalbe則一次性刪除所有數(shù)據(jù),事務(wù)處理日志不能回復(fù)。17.5子查詢刪除數(shù)據(jù)信息刪除Table_4中數(shù)學(xué)成績小于平均分的人的信息語句:deletefromTable_4where數(shù)學(xué)v(selectAVG(數(shù)學(xué))fromTable_4)select*fromTable_413?結(jié)果|蟲消息.|序號姓名’語…數(shù)…地理j蟲蟲67'75NULL592_6名名75774355SQL補充學(xué)習(xí)(十七):使用SQL修改數(shù)據(jù)17.使用SQL修改數(shù)據(jù)17.1使用SQL修改數(shù)據(jù)語法update表名set列名1,列名2=值,…where條件樣例數(shù)據(jù):
■帀X1JFAN亦收丸..吐o.Tab:LeEXAaFAJCHJbh…一曲。一WAHFOGDATA...dbo.Tabled序號姓名語文轡地理歷史■5蟲蟲6775/bi血596名名.75774355斗虹紅斗4逋478嶺4558775卜崇MlMl修改制定條件的單行數(shù)據(jù)要求:將Table_5中序號為5的學(xué)生的班級更改為1語句:updateTable_5set班級=1where序號=5select*fromeTable_5執(zhí)行結(jié)果:
圉結(jié)果於消息|序號班…年齡i1'l"5453斗牙456517;6'6157755改制定條件的多行數(shù)據(jù)將上表中年齡<6的人的年齡編到1班去updateTable_5set班級=1where年齡<6select*fromTable_5執(zhí)行結(jié)果:園鰭果|墻消息|序號班級年齡123h11213T54.4.561J51—7b6.15775■617.4使用子查詢修改數(shù)據(jù)記錄蟲蟲的語文成績加上語文成績*0.2語句:updateTable_4set語文=語文+語文*0.2where語文v(selectAVG(語文)fromTable_4)select*fromTable_4執(zhí)行結(jié)果:|二結(jié)果]匕消息|j?j,,j'—rr:—」,,—~r序?qū)彰Z…數(shù)…地理陽史|"s"""""蟲蟲8075NULL59G名名Z5??4355a4紅紅2了448372.404055S77517.5修改所有數(shù)據(jù)updata表名set列名=值,…要求:將表5中的年齡全部設(shè)置為8歲語句:updateTable_5set年齡=8select*fromTable_5SQL補充學(xué)習(xí)(十八):SQLserver中的事務(wù)18.SQLserver中的事務(wù)事務(wù)是指一系列語句組成的邏輯工作單元,其中可以包括許多操作,但是它們在邏輯上是個整體,要么全部完成,要么全部失敗。關(guān)鍵詞說明:begintran開始事務(wù)committran提交事務(wù)starttransaction執(zhí)行開始事務(wù)setconstrains在當(dāng)前事務(wù)中設(shè)置約束settransaction設(shè)置下一個要執(zhí)行的事務(wù)屬性savepoint在事務(wù)中設(shè)置保存點,可以理解為斷點,用來標(biāo)識重新開始事務(wù)的位置。releasesavepoint釋放保存點rollback標(biāo)識中止事務(wù)18.1SQLserver中的事務(wù)語法begintran事務(wù)名稱SQL語句操作committran事務(wù)名稱使用事務(wù)修改數(shù)據(jù)信息樣例數(shù)據(jù):$消息|序號姓名語…數(shù)…地理I碇Ti580'75NULL5926名名擊77435524紅紅448572840558775要求:使用事務(wù)將語文成績小于30分的人語文成績給30分begintranupdate_scoreupdateTable_4set語文=30where語文<30committranupdate_scoreselect*fromTa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 含藥物的漱口劑產(chǎn)品供應(yīng)鏈分析
- 裝有測量傳感器的健身圈項目營銷計劃書
- 云計算行業(yè)營銷策略方案
- 磁帶消磁裝置項目運營指導(dǎo)方案
- 花園水管用灑水槍商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 冷媒秤產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 繪圖用丁字尺項目營銷計劃書
- 冷藏展示柜產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 醫(yī)用南美牛奶菜的干皮產(chǎn)品供應(yīng)鏈分析
- 傳真通信行業(yè)經(jīng)營分析報告
- 充電樁工程施工方法及施工方案
- 四川建筑施工資料表格(施工單位用表)全套
- 道路貨物運輸企業(yè)安全風(fēng)險評估手冊
- 人教版小學(xué)語文四年級下冊1-8單元試題(含期中期末各3套)
- 剪映入門教程
- 河南省鄭氏中原纖維素有限公司年產(chǎn) 0.2 萬噸預(yù)糊化淀粉、0.5 萬噸羧甲基纖維素鈉、1.3 萬噸羧甲基淀粉鈉項目環(huán)境影響報告
- 托福命題總監(jiān)教你征服新口語無
- 高中美術(shù) 主題二 時代與變革-為人生而藝術(shù)-課件
- MT 113-1995煤礦井下用聚合物制品阻燃抗靜電性通用試驗方法和判定規(guī)則
- 2023年度人才工作計劃范文10篇
- 邏導(dǎo)習(xí)題答案-邏輯學(xué)導(dǎo)論
評論
0/150
提交評論