欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL?server中視圖(view)創(chuàng)建、修改與刪除

 更新時間:2024年01月10日 15:33:09   作者:樹賢森  
這篇文章主要給大家介紹了關(guān)于SQL?server中視圖(view)創(chuàng)建、修改與刪除的相關(guān)資料,視圖(View)是從一個或多個表或其它視圖導(dǎo)出的,用來導(dǎo)出視圖的表稱為基表,導(dǎo)出的視圖又稱為虛表,需要的朋友可以參考下

一、視圖概述:

視圖是一種常用的數(shù)據(jù)庫對象,它將查詢的結(jié)果以虛擬表的形式存儲在數(shù)據(jù)中。視圖并不在數(shù)據(jù)庫中以存儲數(shù)據(jù)集的形式存在。視圖的結(jié)構(gòu)和內(nèi)容是建立在對表的查詢基礎(chǔ)之上的,和表一樣包括行和列,這些行列數(shù)據(jù)都來源于其所引用的表,并且是在引用視圖過程中動態(tài)生成的。
視圖中的內(nèi)容是由查詢定義來的,并且視圖和查詢都是通過SQL語句定義的,它們有著許多相同和不同之處,具體如下。

  • ?存儲:視圖存儲為數(shù)據(jù)庫設(shè)計的一部分,而查詢則不是。視圖可以禁止所有用戶訪問數(shù)據(jù)庫中的基表,而要求用戶只能通過視圖操作數(shù)據(jù)。這種方法可以保護(hù)用戶和應(yīng)用程序不受某些數(shù)據(jù)庫修改的影響,同樣也可以保護(hù)數(shù)據(jù)表的安全性。
  • ?排序:可以排序任何查詢結(jié)果,但是只有當(dāng)視圖包括TOP子句時才能排序視圖。

總之,視圖是由一個或多個表(或其他視圖)派生的虛擬表。視圖是基于查詢結(jié)果集的命名查詢,它包含了從一個或多個表中選擇的特定列和行。因此視圖可以被認(rèn)為是一種虛擬表,其內(nèi)容并不實際存儲在數(shù)據(jù)庫中,而是在查詢時動態(tài)生成。通過創(chuàng)建視圖,我們可以隱藏底層表的復(fù)雜性,簡化復(fù)雜查詢,并提供一種方便和安全的方式來訪問數(shù)據(jù)。視圖只是定義了一個查詢,并根據(jù)查詢的結(jié)果生成數(shù)據(jù)。

視圖為數(shù)據(jù)呈現(xiàn)提供了多樣的表現(xiàn)形式,用戶可以通過它瀏覽表中感興趣的數(shù)據(jù)。在SQL Server

2008中視圖分為以下3類。

  • ?標(biāo)準(zhǔn)視圖:保存在數(shù)據(jù)庫中的SELECT查詢語句,即通常意義上理解的視圖。
  • ?索引視圖:創(chuàng)建有索引的視圖稱為索引視圖。它經(jīng)過計算并存儲有自己的數(shù)據(jù),可以提高某些類型查詢的性能,尤其適用于聚合許多行的查詢,但不太適用于經(jīng)常更新的基本數(shù)據(jù)集。
  • ?分區(qū)視圖:是在一臺或多臺服務(wù)器間水平聯(lián)結(jié)一組表中的分區(qū)數(shù)據(jù),以使數(shù)據(jù)看上去來源于一個表。

二、視圖好處

使用視圖的好處包括:

  • 簡化復(fù)雜的查詢:視圖可以根據(jù)具體的業(yè)務(wù)需求和邏輯將復(fù)雜的查詢操作進(jìn)行封裝,提供更簡潔易懂的查詢語句。
  • 提高性能:視圖可以對查詢結(jié)果進(jìn)行緩存,當(dāng)查詢相同的數(shù)據(jù)時,可以減少查詢時間和數(shù)據(jù)庫負(fù)載。
  • 數(shù)據(jù)安全性:通過視圖,可以控制用戶對數(shù)據(jù)的訪問權(quán)限,限制他們只能查看和操作特定的列或行,從而保護(hù)數(shù)據(jù)的安全性。

三、創(chuàng)建視圖

法一:

使用SQL Server Management Studio創(chuàng)建視圖 ,具體操作步驟如下:

(1)啟動SQL Server Management Studio,并連接到SQL Server2008中的數(shù)據(jù)庫。

(2)在“對象資源瀏覽器”中展開“數(shù)據(jù)庫”節(jié)點,展開指定的數(shù)據(jù)庫,比如我選擇的是SJCX。

(3)右擊“視圖”選項,在彈出的快捷菜單中選擇“新建視圖”命令,如圖所示。

(4)打開“添加表”對話框,如圖所示。在列表框中選擇表rank,單擊“添加”按鈕,然后單擊“關(guān)閉”按鈕關(guān)閉該對話框。

(5)進(jìn)入視圖設(shè)計器界面,如圖所示。在“表選擇區(qū)”中選擇“所有列”選項,單擊執(zhí)行按鈕,視圖結(jié)果區(qū)中自動顯示視圖結(jié)果。

(6)單擊工具欄中的“保存”按鈕口,彈出“選擇名稱”對話框,如圖所示。在“輸入視圖名稱”文本框中輸入視圖名稱View_Rank,單擊“確定”按鈕即可保存該視圖。 

法二:

使用 CREATE VIEW 語句,具體語法如下:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table(s)
WHERE condition;

 比如選擇數(shù)據(jù)庫SJCX,創(chuàng)建視圖View_people,則SQL語句為:

CREATE VIEW view_people AS
SELECT [DepartmentId]
      ,[RankId]
      ,[PeopleId]
      ,[PeopleName]
      ,[PeopleGender]
      ,[PeopleBirth]
      ,[PeopleSalary]
      ,[PeoplePhone]
      ,[PeopleAddress]
      ,[peopleAddTime]
      ,[PeopleMail]
  FROM [SJCX].[dbo].[People];

執(zhí)行該SQL語句后即創(chuàng)建成功。這是最常用的創(chuàng)建視圖的方法,使用 CREATE VIEW 語句指定視圖的名稱(view_name),然后在 SELECT 子句中定義視圖所選擇的列和表(或其他視圖),并可以包含一個可選的 WHERE 子句來篩選數(shù)據(jù)。

四、查看視圖信息

下面在SQL Server Management Studio中查看視圖View Stu的信息,具體操作步驟如下。

(1)啟動SQL Server Management Studio,并連接到SQL Server2008中的數(shù)據(jù)庫。

(2)在“對象資源瀏覽器”中展開“數(shù)據(jù)庫”節(jié)點,展開指定的數(shù)據(jù)庫SJCX。

(3)再依次展開“視圖”節(jié)點,就會顯示出當(dāng)前數(shù)據(jù)庫中的所有視圖,右擊要查看信息的視圖。

(4)在彈出的快捷菜單中,如果想要查看視圖的屬性,選擇“屬性”選項,彈出“視圖屬性”對話框,如圖所示:

(5)如果想要查看視圖中的內(nèi)容,可在圖所示的快捷菜單中選擇“編輯前200行”選項,在右側(cè)即可顯示視圖中的內(nèi)容。

(6)如果想要重新設(shè)置視圖,可在快捷菜單中選擇“設(shè)計”選項,打開視圖的設(shè)計界面,如圖所示。在此界面中可對視圖重新進(jìn)行設(shè)置。

五、視圖插入數(shù)據(jù)

使用視圖可以插入新的記錄,但應(yīng)該注意的是,新插入的數(shù)據(jù)實際上是存儲在與視圖相關(guān)的表中。

示例:

向視圖View_Rank中插入信息“4,頂級”。

步驟如下:

(1)右擊要插入記錄的視圖,在彈出的快捷菜單中選擇“設(shè)計”命令,顯示視圖的設(shè)計界面。

(2)在顯示視圖結(jié)果的最下面一行直接輸入新記錄即可,如圖所示。

(3)然后按下Enter鍵,即可把信息插入到視圖中。

(4)單擊!按鈕,完成新記錄的添加,如圖所示:

六、視圖修改數(shù)據(jù)

使用視圖可以修改數(shù)據(jù)記錄,但是與插入記錄相同,修改的是數(shù)據(jù)表中的數(shù)據(jù)記錄。

示例:

修改視圖View_Rank中的記錄,將“頂級”修改為“低級”。

步驟如下:

(1)右擊要修改記錄的視圖,在彈出的快捷菜單中選擇“設(shè)計”命令,顯示視圖的設(shè)計界面。

(2)在顯示的視圖結(jié)果中,選擇要修改的內(nèi)容,直接修改即可。

(3)最后按下Enter鍵,即可把信息保存到視圖中。 

七、視圖刪除數(shù)據(jù)

使用視圖可以刪除數(shù)據(jù)記錄,但是與插入記錄相同,刪除的是數(shù)據(jù)表中的數(shù)據(jù)記錄。

示例:

刪除視圖View_Rank中的記錄“低級”。

步驟如下:

(1)右擊要刪除記錄的視圖,在彈出的快捷菜單中選擇“設(shè)計”命令,顯示視圖的設(shè)計界面。

(2)在顯示視圖的結(jié)果中,右擊要刪除的行“低級”,在彈出的快捷菜單中選擇“刪除”命令,彈出“刪除”對話框,如圖所示。

(3)單擊“是”按鈕,便可將該記錄刪除。 

(4)檢查結(jié)果,如圖所示:

八、刪除視圖

對于數(shù)據(jù)庫中不需要的視圖可以將其刪除,以釋放存儲空間。可以使用企業(yè)管理器將其刪除,也可以使用SQL語句將其刪除。

法一:

使用企業(yè)管理器刪除視圖的步驟如下:

(1)啟動SQL Server Management Studio,.并連接到SQL Server2008中的數(shù)據(jù)庫。

(2)在“對象資源管理器”中依次展開“數(shù)據(jù)庫”指定的數(shù)據(jù)庫/“視圖”節(jié)點。

(3)右擊要刪除的視圖,在彈出的快捷菜單中選擇“刪除”命令,彈出“刪除對象”對話框,如圖所示。 在“刪除對象”對話框中,單擊“顯示依賴關(guān)系”按鈕,可以顯示與該視圖有關(guān)的數(shù)據(jù)表和視圖,單擊“確定”按鈕,便可將該視圖刪除。

注意:
在刪除之前,應(yīng)該先查看視圖的依賴關(guān)系,如果有對象依賴于要刪除的視圖,那么要確
定是否要保存該對象,如果不保存,則可以直接將該視圖刪除,否則將不能刪除該視圖。

法二:

使用 DROP VIEW 語句來刪除視圖。下面是刪除視圖的語法:

DROP VIEW [IF EXISTS] view_name;
 
--或者
IF OBJECT_ID('view_name', 'V') IS NOT NULL
    DROP VIEW view_name;

可選的 IF EXISTS 子句用于檢查視圖是否存在。如果視圖不存在,執(zhí)行語句時不會引發(fā)錯誤。

使用 OBJECT_ID 函數(shù)檢查視圖是否存在(V 表示視圖),如果存在則執(zhí)行 DROP VIEW 語句進(jìn)行刪除。

注意:

從 SQL Server 2016 版本開始,引入了 DROP VIEW IF EXISTS 語法。因此,如果使用的是 SQL Server 2016 及其更高版本,可以直接使用該語法來刪除視圖。

示例:

刪除視圖view_people:

-- 刪除視圖
DROP VIEW view_people;
 
-- 刪除視圖(如果存在)
DROP VIEW IF EXISTS view_people;
 
--或者
IF OBJECT_ID('view_people', 'V') IS NOT NULL
    DROP VIEW view_people;

總結(jié)

到此這篇關(guān)于SQL server中視圖(view)創(chuàng)建、修改與刪除的文章就介紹到這了,更多相關(guān)SQLServer視圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論