第2章結(jié)構(gòu)化查詢語(yǔ)言sql

上傳人:仙*** 文檔編號(hào):35122439 上傳時(shí)間:2021-10-26 格式:DOC 頁(yè)數(shù):16 大?。?03.01KB
收藏 版權(quán)申訴 舉報(bào) 下載
第2章結(jié)構(gòu)化查詢語(yǔ)言sql_第1頁(yè)
第1頁(yè) / 共16頁(yè)
第2章結(jié)構(gòu)化查詢語(yǔ)言sql_第2頁(yè)
第2頁(yè) / 共16頁(yè)
第2章結(jié)構(gòu)化查詢語(yǔ)言sql_第3頁(yè)
第3頁(yè) / 共16頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《第2章結(jié)構(gòu)化查詢語(yǔ)言sql》由會(huì)員分享,可在線閱讀,更多相關(guān)《第2章結(jié)構(gòu)化查詢語(yǔ)言sql(16頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第2章 結(jié)構(gòu)化查詢語(yǔ)言SQL 2.1 概述 2.1.1 組成與功能 1 SQL是“Structured Query Language(結(jié)構(gòu)式查詢語(yǔ)言)”的縮寫(xiě),1986年SQL語(yǔ)言被批準(zhǔn)為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn)化語(yǔ)言。 2.SQL語(yǔ)言分類 分為四大類:數(shù)據(jù)定義語(yǔ)言,數(shù)據(jù)查詢語(yǔ)言,數(shù)據(jù)操縱語(yǔ)言,數(shù)據(jù)控制語(yǔ)言。 (1)數(shù)據(jù)定義語(yǔ)言:主要用創(chuàng)建、修改或刪除數(shù)據(jù)庫(kù)中對(duì)象,如表、視圖、模式、觸發(fā)器和存儲(chǔ)過(guò)程等,與其相關(guān)的主要SQL語(yǔ)句包括CREAT(創(chuàng)建)、ALTER(修改)、DROP(刪除); (2)數(shù)據(jù)操縱語(yǔ)言:主要用于數(shù)據(jù)的增、刪、改操作,主要語(yǔ)句有INSERT(插

2、入)、DELETE(刪除)、UPDATE(修改); (3)數(shù)據(jù)查詢語(yǔ)言:主要用于數(shù)據(jù)的檢索查詢,與其相關(guān)的語(yǔ)句是SELECT(查詢); (4)數(shù)據(jù)控制語(yǔ)言:主要用于控制用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限、完整性規(guī)則描述、事務(wù)控制等操作??刂朴脩魧?duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限的主要語(yǔ)句有 GRANT(授予權(quán)利)和REVOKE(取消權(quán)利)等。事務(wù)控制的語(yǔ)句包括 COMMIT(事務(wù)提交)和ROLLBACK(事務(wù)撤消)等。 2.SQL語(yǔ)言的特點(diǎn) 1)非過(guò)程化語(yǔ)言: 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語(yǔ)言是面向過(guò)程的語(yǔ)言,用其完成某項(xiàng)請(qǐng)求,必須指定存取路徑。而用SQL語(yǔ)言進(jìn)行數(shù)據(jù)操作,用戶只需提出“做什么”,而不必指明“怎么做”

3、,因此用戶無(wú)需了解存取路徑,存取路徑的選擇以及SQL語(yǔ)句的操作過(guò)程由系統(tǒng)自動(dòng)完成。這不但大大減輕了用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。 2)統(tǒng)一的語(yǔ)言: SQL語(yǔ)言集數(shù)據(jù)定義語(yǔ)言DDL、數(shù)據(jù)操縱語(yǔ)言DML、數(shù)據(jù)控制語(yǔ)言DCL的功能于一體,語(yǔ)言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng),包括定義關(guān)系模式、錄入數(shù)據(jù)以建立數(shù)據(jù)庫(kù)、查詢、更新、維護(hù)、數(shù)據(jù)庫(kù)重構(gòu)、數(shù)據(jù)庫(kù)安全性控制等一系列操作要求,這就為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)提供了良好的環(huán)境,例如用戶在數(shù)據(jù)庫(kù)投入運(yùn)行后,還可根據(jù)需要隨時(shí)地逐步地修改模式,并不影響數(shù)據(jù)庫(kù)的運(yùn)行,從而使系統(tǒng)具有良好的可擴(kuò)充性。 3).面向集合的操作方式 SQL語(yǔ)言采

4、用集合操作方式,不僅查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。 非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,任何一個(gè)操作其對(duì)象都是一條記錄。例如查詢所有平均成績(jī)?cè)?0分以上的學(xué)生姓名,用戶必須說(shuō)明完成該請(qǐng)求的具體處理過(guò)程,即如何用循環(huán)結(jié)構(gòu)按照某條路徑一條一條地把滿足條件的學(xué)生記錄讀出來(lái)。 4)是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言。 3.SQL語(yǔ)言的基本數(shù)據(jù)類型 SQL Server提供了數(shù)值型、字符型、日期型、二進(jìn)制型、位型、雙字節(jié)型等6大類數(shù)據(jù)類型。 1)數(shù)值數(shù)據(jù)類型 一般可以分為整數(shù)型、精確數(shù)值類型、浮點(diǎn)數(shù)值類型和貨幣類型等4類。 數(shù)字?jǐn)?shù)據(jù)只包含數(shù)

5、字。數(shù)字?jǐn)?shù)據(jù)類型包括正數(shù)和負(fù)數(shù)、小數(shù)(浮點(diǎn)數(shù))和整數(shù)   整數(shù)由正整數(shù)和負(fù)整數(shù)組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數(shù)存儲(chǔ)的數(shù)據(jù)類型是    Int,Smallint和 Tinyint。Int 數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于 Smallint 數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍,而 Smallint 據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于Tinyint 數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍。使用 Int 數(shù)據(jù)狗昔存儲(chǔ)數(shù)據(jù)的范圍是從 -2 147 483 648 到 2 147 483 647(每一個(gè)值要求4個(gè)字節(jié)存儲(chǔ)空間)。使用 Smallint 數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍從

6、 -32 768 到 32 767(每一個(gè)值要求2個(gè)字節(jié)存儲(chǔ)空間)。使用Tinyint 數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍是從0 到255(每一個(gè)值要求1個(gè)字節(jié)存儲(chǔ)空間)。   精確小婁數(shù)據(jù)在 SQL Server 中的數(shù)據(jù)類型是 Decimal 和 Numeric。這種數(shù)據(jù)所占的存儲(chǔ)空間根據(jù)該數(shù)據(jù)的位數(shù)后的位數(shù)來(lái)確定。   在SQL Server 中,近似小數(shù)數(shù)據(jù)的數(shù)據(jù)類型是 Float 和 Real。例如,三分之一這個(gè)分?jǐn)?shù)記作。3333333,當(dāng)使用近似數(shù)據(jù)類型時(shí)能準(zhǔn)確表示。因此,從系統(tǒng)中檢索到的數(shù)據(jù)可能與存儲(chǔ)在該列中數(shù)據(jù)不完全一樣。 2)字符型 常用的字符型有Char、Varchar和T

7、ext等3種。 (1)char類型。長(zhǎng)度固定。如果字段或變量被定義為char類型,而實(shí)際長(zhǎng)度沒(méi)有達(dá)到定義的長(zhǎng)度,則在字符串尾部添加空格以達(dá)到固定的字符數(shù)。 (2)varchar類型。長(zhǎng)度可變。如果字段或變量被定義為varchar類型,而實(shí)際長(zhǎng)度沒(méi)有達(dá)到定義的長(zhǎng)度,SQL Server會(huì)自動(dòng)丟掉尾部的空格以節(jié)省空間。 (3)text類型。 當(dāng)要存儲(chǔ)的字符型數(shù)據(jù)非常龐大,長(zhǎng)度超過(guò)了8000個(gè)字符時(shí),可選擇text數(shù)據(jù)類型。即文本型,最大可存儲(chǔ)約2G的數(shù)據(jù)。 3)日期時(shí)間型 主要用來(lái)存儲(chǔ)日期和時(shí)間的組合數(shù)據(jù),根據(jù)取值范圍的大小分為datetime和smalldatetime兩種。 日期

8、和時(shí)間數(shù)據(jù)類型由有效的日期和時(shí)間組成。例如,有效的日期和時(shí)間數(shù)據(jù)包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。前一個(gè)數(shù)據(jù)類型是日期在前,時(shí)間在后一個(gè)數(shù)據(jù)類型是霎時(shí)間在前,日期在后。在 Microsoft SQL Server中,日期和時(shí)間數(shù)據(jù)類型包括Datetime 和 Smalldatetime 兩種類型時(shí),所存儲(chǔ)的日期范圍是從 1753 年 1 月 1 日開(kāi)始,到9999 年12 月 31 日結(jié)束(每一個(gè)值要求 8 個(gè)存儲(chǔ)字節(jié))。使用 Smalldatetime 數(shù)據(jù)類型時(shí),所存儲(chǔ)的日期范圍是 1900年 1 月 1日 開(kāi)始

9、,到 2079 年 12 月 31 日結(jié)束(每一個(gè)值要求 4 個(gè)存儲(chǔ)字節(jié))。   日期的格式可以設(shè)定。設(shè)置日期格式的命令如下:   Set DateFormat {format | @format _var|   其中,format | @format_var 是日期的順序。有效的參數(shù)包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認(rèn)情況下,日期格式為MDY。   例如,當(dāng)執(zhí)行 Set DateFormat YMD 之后,日期的格式為年 月 日 形式;當(dāng)執(zhí)行 Set DateFormat DMY 之后,日期的格式為日 月有年 形式 4)二進(jìn)制數(shù)據(jù)類型 二進(jìn)制數(shù)據(jù)類型有

10、定長(zhǎng)和變長(zhǎng)之分,主要用來(lái)存儲(chǔ)二進(jìn)制數(shù)據(jù),如圖形圖像、Word文檔文件等。SQL Server提供了binary、varbinary和image等3種常用二進(jìn)制數(shù)據(jù)類型。 5)位型 bit(位型)是SQL Server提供的一種支持邏輯數(shù)據(jù)的類型,只用來(lái)存儲(chǔ)1或0兩種,只有一位字節(jié)長(zhǎng),在SQL Server中bit字段的用途很多,可以作為“真/假”、“男/女”、“開(kāi)/關(guān)”這類狀態(tài)信息的標(biāo)志,可以作為活動(dòng)賬號(hào)的指示器或項(xiàng)目的使用標(biāo)志等。 6)特殊數(shù)據(jù)類型 有兩類不常用的數(shù)據(jù)類型,即雙字節(jié)數(shù)據(jù)類型和時(shí)間戳數(shù)據(jù)(Timestamp)類型。它們主要是為了實(shí)現(xiàn)特殊的用途,稱為特殊數(shù)據(jù)類型。 時(shí)間

11、戳數(shù)據(jù)類型往往因?yàn)槠涿侄斐烧`解,實(shí)際上它既不是日期,也不是時(shí)間數(shù)據(jù),而是SQL Server根據(jù)事件的發(fā)生次序自動(dòng)生成的一種二制數(shù)據(jù)。這個(gè)數(shù)據(jù)有很多用途,其中之一是在SQL Server關(guān)閉重新啟動(dòng)時(shí),作為進(jìn)行恢復(fù)工作的重要部分。另外利用timestamp數(shù)據(jù)還可以替代傳統(tǒng)的數(shù)據(jù)庫(kù)加鎖技術(shù)。 2.3.?dāng)?shù)據(jù)定義語(yǔ)言 1)空值 空值也可稱為NULL值??罩挡皇恰翱崭瘛狈颉?”值,它表示的是沒(méi)有值,是不確定的值。 2)數(shù)據(jù)類型:確定后一般不改變 2.3.1 數(shù)據(jù)庫(kù) 在SQL中,數(shù)據(jù)庫(kù)被定義為對(duì)象的集合,這些對(duì)象主要有表、索引、視圖、存儲(chǔ)過(guò)程等。數(shù)據(jù)庫(kù)在磁盤(pán)上是以文件為單位存儲(chǔ)的,由

12、數(shù)據(jù)文件和日志文件組成。數(shù)據(jù)文件中實(shí)際存放數(shù)據(jù)庫(kù)的所有數(shù)據(jù)和對(duì)象,日志文件用來(lái)存放用戶對(duì)數(shù)據(jù)庫(kù)所進(jìn)行的所有操作,它是維護(hù)數(shù)據(jù)庫(kù)完整性的重要工具。 (1)創(chuàng)建數(shù)據(jù)庫(kù) 語(yǔ)句格式: CREATE DATABASE <數(shù)據(jù)庫(kù)名> 語(yǔ)句功能:創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),就是定義一個(gè)存儲(chǔ)空間。 應(yīng)用舉例:CREATE DATABASE 教學(xué)管理庫(kù) (2)刪除數(shù)據(jù)庫(kù) 語(yǔ)句格式:DROP DATABASE <數(shù)據(jù)庫(kù)名> 語(yǔ)句功能:從計(jì)算機(jī)系統(tǒng)中刪除(撤消)一個(gè)數(shù)據(jù)庫(kù)。當(dāng)然會(huì)同時(shí)把該庫(kù)中的所有信息一并刪除掉。 語(yǔ)句舉例:DROP DATABASE 教學(xué)管理 2.3.2.表 1)表的概念 關(guān)系數(shù)據(jù)庫(kù)的主

13、要特點(diǎn)之一就是用表的方式組織數(shù)據(jù)。表是SQL語(yǔ)言存放數(shù)據(jù)、查找數(shù)據(jù)以及更新數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)。在SQL語(yǔ)言中,表有嚴(yán)格的定義,它是一個(gè)由行、列組成的二維結(jié)構(gòu),通常把行稱做記錄,把列稱為字段。 表2-1 學(xué)生基本情況登記表 學(xué)號(hào) 姓名 性別 出生日期 專業(yè) 年級(jí) 2008001 張紅 女 1988-3-6 計(jì)算機(jī)應(yīng)用 1 2008002 李勇 男 1988-10-11 信息管理 1 … … … … … … 從表2-1可以看出,數(shù)據(jù)表一般具有以下屬性: (1)表名:表的惟一標(biāo)識(shí)。比如學(xué)生基本情況登記表; (2)字段:一張表可以由若干列組成

14、,稱為字段。列名惟一,且同一列的數(shù)據(jù)必須具有相同的數(shù)據(jù)類型。 (3)記錄:表中的每一行稱為一條記錄,比如“2008001,張紅,女1988.3.6,計(jì)算機(jī)應(yīng)用,1”,它描述了一名學(xué)生的若干屬性; (4)主關(guān)鍵字:能夠惟一表示數(shù)據(jù)表中的每條記錄的字段或者字段的組合,也稱為主碼、主鍵,比如學(xué)號(hào)。在一個(gè)學(xué)校中,學(xué)生的姓名可能重復(fù),但學(xué)號(hào)必須是惟一的。 2)創(chuàng)建表結(jié)構(gòu) (1)語(yǔ)句格式: CREATE TABLE <表名> (<列名1><列的數(shù)據(jù)類型>,<列名2><列的數(shù)據(jù)類型>,...) (2)語(yǔ)句功能: 在當(dāng)前數(shù)據(jù)庫(kù)中定義一個(gè)表的結(jié)構(gòu)(即關(guān)系模式)。 (3)語(yǔ)句舉例: 如果希望在

15、“教學(xué)管理”數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為“學(xué)生表”的表結(jié)構(gòu),則可執(zhí)行下列語(yǔ)句: CREATE TABLE 學(xué)生表( 學(xué)號(hào) char(7) Primary Key, 姓名 char(6), 性別 char(2), 出生日期 datetime, 專業(yè) char(10), 年級(jí) int ) 在上述語(yǔ)句中,數(shù)據(jù)表的名稱為“學(xué)生表”,它包括學(xué)生號(hào)、姓名、性別、出生日期、專業(yè)、年級(jí)等6個(gè)字段(列)。學(xué)名的數(shù)據(jù)類型為Char型(字符型),長(zhǎng)度為7;出生日期

16、的數(shù)據(jù)類型為Datatime型(日期型);年級(jí)的數(shù)據(jù)類型為Int型(整數(shù)型)。 3)刪除表結(jié)構(gòu) (1)語(yǔ)句格式: DROP TABLE <表名> (2)語(yǔ)句功能: 從當(dāng)前數(shù)據(jù)庫(kù)中刪除一個(gè)表,當(dāng)然在刪除表結(jié)構(gòu)的同時(shí)也刪除了全部?jī)?nèi)容。 (3) 語(yǔ)句舉例: DROP TABLE 學(xué)生表 從當(dāng)前數(shù)據(jù)庫(kù)中刪除掉名稱為“學(xué)生表”的表,假定事先已經(jīng)在當(dāng)前庫(kù)建立過(guò)該表。 2.3.2.索引 1索引的概念 索引(Index)提供了一種快速訪問(wèn)數(shù)據(jù)的途徑。索引具有以下特點(diǎn)。 (1)索引是在基本表的列上建立的一種數(shù)據(jù)加對(duì)象,它和基本表分開(kāi)存儲(chǔ),它的建立或撤消對(duì)數(shù)據(jù)的內(nèi)容

17、毫無(wú)影響。 (2)索引一經(jīng)創(chuàng)建,就完全由系統(tǒng)自動(dòng)選擇和維護(hù),不需要用戶指定使用索引,也不需要用戶執(zhí)行打開(kāi)索引或進(jìn)行重新索引等操作,所有這些工作都是由SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)自動(dòng)完成。 (3)基本表的記錄數(shù)量越多,記錄越長(zhǎng),越有必要?jiǎng)?chuàng)建索引,這對(duì)加快查詢速度的效率十分明顯。相反,對(duì)于記錄比較少的基本表而言,創(chuàng)建索引的意義不大。 (4)索引是為了加速查詢速度而創(chuàng)建的,但同時(shí)會(huì)影響基本表的插入、刪除或修改等更新活動(dòng)的速度,當(dāng)對(duì)基本表的數(shù)據(jù)進(jìn)行增刪改操作時(shí),索引文件也要隨之變化,以保持與基本表的一致,因此只有對(duì)那些數(shù)據(jù)量大、查詢頻度較高、實(shí)時(shí)性要求強(qiáng)的基本表要?jiǎng)?chuàng)建索引,并且一張基本表上

18、不要?jiǎng)?chuàng)建過(guò)多的索引。 2創(chuàng)建索引的原則 索引是建立在基本表列上的對(duì)象,通??蓞⒖家韵略瓌t: (1)基本表的記錄數(shù)量越多,記錄越長(zhǎng),越有必要?jiǎng)?chuàng)建索引,這對(duì)加快查詢速度的效率十分明顯。相反,對(duì)于記錄比較少的基本表而言,創(chuàng)建索引的意義不大。 (2)索引是為了加速查詢速度而創(chuàng)建的,但同時(shí)會(huì)影響基本表的插入、刪除或修改等更新活動(dòng)的速度,當(dāng)對(duì)基本表的數(shù)據(jù)進(jìn)行增、刪、改操作時(shí),索引文件也要隨之變化,以保持與基本表的一致,因此只有對(duì)那些數(shù)據(jù)量大、查詢頻度較高、實(shí)時(shí)性要求強(qiáng)的基本表要?jiǎng)?chuàng)建索引,并且一張基本表上不要?jiǎng)?chuàng)建過(guò)多的索引。 (3)索引是建立在基本表列上的對(duì)象,到底在哪個(gè)列上創(chuàng)建索引,通常可改變列

19、在WHERE、ORDER BY、GROUP BY子句中出現(xiàn)的頻率。比如,如果某個(gè)或某些列經(jīng)常出現(xiàn)在ORDER BY子句中,那么就可考慮在之上建立索引。 3 不易創(chuàng)建索引的幾種情況 (1)包含太多重復(fù)值的列; (2)查詢中很少被引用的列; (3)值特別長(zhǎng)的列。 (4)具有很多NULL值的列 (5)需要經(jīng)常插入、刪除、修改的列。 (6)記錄較少的基本表 (7)需要進(jìn)行頻繁、大批量數(shù)據(jù)更新的基本表 4 索引的類型 索引是創(chuàng)建在基本表列上的一種數(shù)據(jù)對(duì)象,從使用角度可將索引分為以下單列索引、惟一索引、復(fù)合索引三類;從是否改變基本表記錄的物理位置角度可分為聚集索引和非聚集索引兩類。實(shí)際

20、的索引通常是這兩大類5種方式的組合。 5 聚集和非聚集索引的對(duì)比 聚集索引和非聚集索引是SQL Server中經(jīng)常用到的兩個(gè)概念,是非此即彼的關(guān)系。一個(gè)單列或復(fù)合索引即可以是聚集的也可以是非聚集的。在建立索引時(shí),是采用聚集方式還是非聚集方式主要應(yīng)從以下幾點(diǎn)考慮: (1)存取速度 從建立了聚集索引的表中取出數(shù)據(jù)要比建立了非聚集索引的表快。但相對(duì)而言,聚集索引會(huì)降低向表中插入、刪除和修改數(shù)據(jù)的速度。 (2)索引的數(shù)據(jù) 對(duì)聚集索引的主要限制是每個(gè)表只能建立一個(gè)聚集索引。但是一個(gè)表可以有不止一個(gè)非聚集索引。實(shí)際上,對(duì)每個(gè)表最多可以建立249個(gè)非聚集索引。也可以對(duì)一個(gè)表同時(shí)建立聚集和非聚集索

21、引。 (3)所需空間 非聚集索引需要較多的硬盤(pán)空間和內(nèi)存。 6 創(chuàng)建索引 (1)語(yǔ)句格式: CREATE [UNIQUE][CLUSTERED] INDEX <索引名> ON <表名>(<列名1>[次序][,<列名2>[次序]]…) (2)語(yǔ)句功能 主要參數(shù)的意義是: UNIQUE:為表或視圖創(chuàng)建惟一索引(不允許存在索引值相同的兩行)。 CLUSTERED:聚集索引 索引名:在實(shí)際使用時(shí),用戶并不需要知道索引名,但在創(chuàng)建階段,索引名應(yīng)符合SQL Server的命名規(guī)則。并且在整個(gè)數(shù)據(jù)庫(kù)中,索引名不能重復(fù)。 次序:每個(gè)“列名”后面可以用“次序”指定索引值的排列次序,ASC

22、表示升序,DESC表示降序,默認(rèn)值是ASC。 7 刪除索引 (1)語(yǔ)句格式: DROP INDEX <索引名>[,…n] (2)語(yǔ)句功能: 使用該語(yǔ)句一次可以撤消一個(gè)或多個(gè)指定的索引,索引名之間用逗號(hào)間隔。 2.3.4.視圖 1)視圖的概念 視圖看上去同表一模一樣,具有一組命名的字段和數(shù)據(jù)項(xiàng),但它其實(shí)是一個(gè)虛擬的表,在數(shù)據(jù)庫(kù)中并不實(shí)際存。在視圖是由查詢數(shù)據(jù)庫(kù)表產(chǎn)生的,它限制了用戶能看到和修改的數(shù)據(jù)。 2)視圖的作用 視圖是由一個(gè)或多個(gè)基本表導(dǎo)出的表,人們通常把它理解為一組存儲(chǔ)在SQL Server數(shù)據(jù)庫(kù)中,經(jīng)過(guò)預(yù)先編譯的SELECT語(yǔ)句。在SQL Server中可以基本表

23、一樣對(duì)視圖進(jìn)行查詢、刪除、更新操作,但在對(duì)視圖數(shù)據(jù)所進(jìn)行的增加、刪除、修改等更新操作最終都映射到相應(yīng)的基本表上,并有一定的限制,在實(shí)際應(yīng)用中,盡可能不要通過(guò)視圖對(duì)記錄進(jìn)行更新操作。 (1)視圖是經(jīng)過(guò)預(yù)編譯的SELECT語(yǔ)句,存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器端,因此執(zhí)行視圖比從客戶端直接執(zhí)行SELECT語(yǔ)句速度更快、效率更高一些。 (2)視圖屬于用戶模式范疇,在實(shí)際中,一般的用戶不一定具有SELECT語(yǔ)句方面的專門(mén)知識(shí),從戶友好性角度來(lái)說(shuō),視圖更便于用戶使用。 (3)利用視圖可以簡(jiǎn)化的形式表達(dá)復(fù)雜的SELECT語(yǔ)句組,如嵌套查詢等。 3)創(chuàng)建視圖 (1)語(yǔ)句格式: CREATE VIEW <視圖名

24、> (<列名>,...) AS

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!