国产探花免费观看_亚洲丰满少妇自慰呻吟_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為視圖名,后面括號內的參數代表視圖中的列
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新晃| 白水县| 通州区| 阜康市| 汾阳市| 大渡口区| 股票| 云林县| 大厂| 顺平县| 麻阳| 平谷区| 乌审旗| 台中市| 剑川县| 陆川县| 稻城县| 南宁市| 桑日县| 阿拉尔市| 余干县| 扎鲁特旗| 神农架林区| 长武县| 乐陵市| 望谟县| 香港| 宁河县| 延吉市| 嘉黎县| 台东市| 工布江达县| 深水埗区| 黄浦区| 闵行区| 合川市| 泸水县| 屯门区| 精河县| 精河县| 阜新|