學習數據庫,所以寫個博客主要是爲了自己加深影響,有錯誤請大家提出來,相互提高
先來一波百度視圖的定義:
視圖是指計算機數據庫中的視圖,是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。
視圖特點:
可以簡化查詢
增加數據安全性
創建視圖:
格式:
create 限制(可有可無)view 視圖名
as
查詢語句
權限(可有可無)
視圖名:就是給視圖創建一個名字
關鍵字:
create或者create or replace
如果前面創建不能創建同名的視圖
create or replace則如果名字相同則用新表代替舊錶
限制:
force 或者noforce
force 當引用基表存在時才創建視圖
no force無論引用表是否存在都會創建視圖
省略該項時默認爲no force
查詢語句:
例子
select empno,ename,sal,comm from emp;
如上,emp便是引用表
也是查詢語句
empno,ename,sal,comm便是你創建新的視圖的列,其中內容來源於emp表
權限:
權限語句在最後
with read only和with check option
with read only表示創建的視圖,只能查詢
with check option表示創建的視圖可以改變。(不推薦)
當省略該選項時,爲默認可以修改
實例:
create view financeView
as
select empno,ename,sal,comm from emp;
修改:
視圖與表修改的方式是幾乎相同的
當視圖可以修改時,如果對其進行修改則引用表中數據也會發生相應的改變
但是視圖不能對列進行修改,只能對數據進行修改
刪除:
當視圖刪除後,並不會影響引用表
但是此視圖作爲引用表的視圖,同樣會刪除。