視圖是從一個或幾個已經存在的表中抽取部分屬性列組成一個新的虛擬表,等因而先行一步的查詢操做,而咱們調用的時候直接調用這個表就能夠實現功能,減小了代碼量。並且能重複調用。視圖至關於一個封裝好的代碼,裏面的SQL語句如指針通常直接指向真實表的某個位置,在建立好視圖以後,咱們只要調用就OK了。(PS:真心跟WOW的宏同樣的感受— —。)sql
語法 spa
建立指針
Create View view_name(column_name) AS Select column_name From table_name Where condition [with check option]
視圖的據法中不能使用order by和distinct。code
建立視圖的view_name後的(column_name)只能所有指定或者全省略。繼承
若是指定,則此column_name能夠隨意定義,由於原本就是一張虛表。it
若是省略,則column_name 爲視圖中Select子句中的column_name代替。io
由於視圖是從一個或幾個已經存在的表中抽取部分屬性組成的,因此視圖應該繼承一個或幾個表的約束條件,table
即[with check option]。class
調用 語法
Select *From [view_name] Where condition
刪除視圖
DROP VIEW view_name CASCADE
主外鍵關係中,級聯刪除,即刪除主表數據會自動刪除從表數據,
在此表示刪除視圖view_name及由它導出的全部視圖。