MySQL_MySQL視圖(重點)

視圖引入:

              有倆張數據庫的表,一張是用戶信息內容表,一張是用戶操作的權限表。當一個用戶在登錄了以後,系統需要提供倆張數據庫表中的對應的內容。我要實現獲取這倆張表時間有對應關係的數據內容,我就必須分別查詢出用戶,然後在去權限表中查詢出來對應的權限,如果有一種方法可以實現不用分開查詢,我直接可以獲取用戶表和權限表合起來的這一張大表,然後我在去查詢裏面的內容。這樣就方便多了。但是呢這一張大表還不影響我倆張小表。如果有這樣的操作,那麼久更好了。爲了解決類似問題。我們就可以使用——視圖。

 

視圖的概述

       視圖,一種虛擬存在的表,行和列的數據來自定義視圖的查詢中使用的表,並且是在使用視圖時動態生成的,只保存了sql邏輯,不保存查詢結果。也就是說保存的是多個表的組合結果。但是這一個組合結果是一個臨時的存儲,這一些數據來源於子表,這一個組合表在數據庫中不存儲在實際的存儲。但是可以使用。MySQL在版本5.0以後就開始提供視圖。

 

視圖的使用場景

1.多個地方用到同樣的查詢結果,,如用戶表和權限表的內容。
2.該查詢結果使用的sql語句較複雜。

 

視圖的使用好處

1.重用sql語句
2.簡化複雜的sql操作,不必知道它的查詢細節(有點類似於面向對象)
3. 保護數據,提高安全性

 

視圖的一個基本使用

1.創建倆個相互關聯的數據庫表

用戶表: user

權限表:roles

建立倆張表視圖:

視圖結果:(以用戶表爲準)

創建視圖使用sql

方法1:使用SQL直接創建

方法2:使用可視化工具自帶的建立視圖方法(navicat)

 

視圖的查詢以及使用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章