天天看點

【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼

文章目錄

  • 符号說明
  • 定義視圖
  • 删除視圖
  • 查詢視圖
  • 更新視圖
  • 示例代碼
  1. 從一個或幾個表(或視圖)導出的表,是虛表
  2. 隻儲存視圖的定義,不存放視圖的資料
  3. 以多種角度觀察資料庫中的資料

符号說明

<…>表示必填

[…]表示選填,可寫可不寫,不寫時會有預設值

(…)是一種文法,需要寫出 ()

定義視圖

create view <視圖名> [(<視圖列的清單>)] as <查詢塊/子查詢> [with check option]

  • 查詢塊中不允許出現排序order by
  • 視圖列的清單(<列1>,<列2>,<列3>)不寫時,視圖包含查詢塊所有字段
  • with check option表示對視圖操作滿足查詢塊條件(對視圖更新之後,仍然可以通過視圖查詢到該更新)

删除視圖

drop view <視圖名>

  • 基本表的資料不受影響
  • 參考該視圖而定義的視圖失效

查詢視圖

select * from <視圖名> where <條件>

和查詢表的操作一緻,隻是表名換為視圖名

參考查詢表

更新視圖

insert into <視圖名> values(<值1>,<值2>,<值3>)

update <視圖名> set <列名>=<值> where <條件>

delete from <視圖名> where <條件>

和更新表的操作一緻,隻是表名換為視圖名。并非所有的視圖都可以更新。

參考更新表

示例代碼

用到的3個表,Student、SC、Course

【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼
【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼
【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼

建立一個視圖

create view V_sc(姓名,課程,成績) as
select Sname,Cname,Grade from Student x,Course y,SC z where x.Sno=z.Sno and y.Cno=z.Cno
           
【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼

查詢視圖

select * from V_sc
           
【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼

更新視圖

可以看到SC表的内容已經更新

【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼

視圖V_sc的内容如也改變了

【學習sql資料庫】視圖符号說明定義視圖删除視圖查詢視圖更新視圖示例代碼

廣而告之

150講輕松搞定Python網絡爬蟲

Java小白修煉手冊

繼續閱讀