本篇文章經過學習《數據庫系統概論》和《MySQL從入門到精通》,總結所得sql
在MySQL數據庫中爲咱們提供了一種特性,它能夠簡化查詢,提升安全性,就是本章要學習的視圖
。視圖
是從一個或幾個表(或視圖)導出的表。本質上是一個虛表,其內容與基本表類似。在數據庫中不存放視圖對應的數據,而是存放視圖的定義,在具體引用視圖時經過查詢語句動態生成,因此基本表發生變化,從視圖中查詢出來的數據也發生變化。視圖就像一個窗口,透過它能夠看到數據庫中感興趣的數據及變化。數據庫
建立視圖的基本語法:安全
create view 視圖名 (列名1,列名2,.... 列名n)
as
查詢語句
複製代碼
create view
爲建立視圖的關鍵字;視圖名不能和表名或已有的視圖名重名;括號中的列名或者所有省略或者所有指定,列名的數量要和查詢語句中列的數量一致;查詢語句爲MySQL能夠正確使用的查詢語句。學習
命令 | 說明 |
---|---|
show tables | 顯示錶和視圖的名字 |
show table status | 顯示所設置數據庫裏表和視圖的詳細信息 |
show create view 視圖名 | 查看指定視圖的定義信息 |
describe 或 desc 視圖名 | 查看指定視圖的設計信息 |
基本語法:spa
alter view 視圖名 (列名1,列名2, ... 列名n)
as
查詢語句
複製代碼
經過alter view
語句,來實現修改指定視圖的功能。設計
基本語法:code
create or replace view 視圖名 (列名1, 列名2, ... 列名n)
as
查詢語句
複製代碼
若是數據庫中已經存在指定的視圖,那麼就對該視圖進行修改,若是不存在就建立該視圖。(有 就修改,沒有 就建立)cdn
視圖定義後,用戶能夠像對基本表同樣對視圖進行操做,但須要注意下面兩點:token
select * from 視圖名;
。insert into 視圖名 values (常量1, 常量2,... 常量n);
,values
後面的數據常量與視圖中的列要一一對應。delete from 視圖名 where 條件;
。update 視圖名 set 修改列 where 條件;
。能夠查看《MySQL學習筆記之對錶中數據的增,刪,改。》進行了解 對數據的操做。get
基本語法:
drop view 視圖名1 [,視圖名2,...,視圖名n];
複製代碼
經過drop view
語句能夠一次刪除一個或者多個視圖。
今天的學習到此爲止,有不對的或不許確的地方能夠在評論中指定出來。感謝大家的鼓勵。