国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL筆記之視圖的使用詳解

2024-07-24 12:48:37
字體:
來源:轉載
供稿:網友

什么是視圖

視圖是從一個或多個表中導出來的表,是一種虛擬存在的表。

視圖就像一個窗口,通過這個窗口可以看到系統專門提供的數據。

這樣,用戶可以不用看到整個數據庫中的數據,而之關心對自己有用的數據。

數據庫中只存放了視圖的定義,而沒有存放視圖中的數據,這些數據存放在原來的表中。

使用視圖查詢數據時,數據庫系統會從原來的表中取出對應的數據。

視圖中的數據依賴于原來表中的數據,一旦表中數據發生改變,顯示在視圖中的數據也會發生改變。

 

視圖的作用

1.使操作簡單化,可以對經常使用的查詢定義一個視圖,使用戶不必為同樣的查詢操作指定條件

2.增加數據的安全性,通過視圖,用戶只能查詢和修改指定的數據。

3.提高表的邏輯獨立性,視圖可以屏蔽原有表結構變化帶來的影響。

 

總而言之,使用視圖的大部分情況是為了保障數據安全性,提高查詢效率

 

參考表:

創建視圖的語法

復制代碼 代碼如下:

CREATE [ALGORITHM]={UNDEFINED|MERGE|TEMPTABLE}]
       VIEW 視圖名 [(屬性清單)]
       AS SELECT 語句
       [WITH [CASCADED|LOCAL] CHECK OPTION];

ALGORITHM表示視圖選擇的算法(可選參數)

      UNDEFINED:MySQL將自動選擇所要使用的算法
      MERGE:將視圖的語句與視圖定義合并起來,使得視圖定義的某一部分取代語句的對應部分
      TEMPTABLE:將視圖的結果存入臨時表,然后使用臨時表執行語句

視圖名表示要創建的視圖的名稱

屬性清單表示視圖中的列名,默認與SELECT查詢結果中的列名相同(可選參數)

WITH CHECK OPTION表示更新視圖時要保證在該試圖的權限范圍之內(可選參數)

      CASCADED:更新視圖時要滿足所有相關視圖和表的條件
      LOCAL:更新視圖時,要滿足該視圖本身定義的條件即可

 

tips:創建試圖時最好加上WITH CASCADED CHECK OPTION參數,這種方式比較嚴格

     可以保證數據的安全性


視圖操作
在單表上創建視圖

復制代碼 代碼如下:

mysql> CREATE VIEW work_view(ID,NAME,ADDR) AS SELECT id,name,address FROM work; 
Query OK, 0 rows affected (0.05 sec)

此處work_view為視圖名,后面括號內的參數代表視圖中的列
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽阳县| 平果县| 利川市| 嘉黎县| 阜新市| 罗甸县| 平阴县| 临江市| 江华| 江北区| 林周县| 惠东县| 略阳县| 西林县| 嘉鱼县| 福建省| 五原县| 阳原县| 上林县| 宜丰县| 酉阳| 平江县| 太仆寺旗| 报价| 宁都县| 高要市| 工布江达县| 泰来县| 吉首市| 阳春市| 平顶山市| 万安县| 乌拉特中旗| 东阿县| 平原县| 红河县| 衢州市| 安龙县| 高雄县| 满洲里市| 阜宁县|