一.創建視圖語句
craete view t as select * from b;
查看視圖信息
desc t;
show table status like 't' \G;
查看視圖詳細信息
show create view '視圖名' \G;
二.在views中查看視圖詳細信息
select * from information_schema.views;
當基本表發生變化時,通過修改視圖來保持基本表的一致性
create or replace view t as select * from t;
alter view t as select quantity from t;
當視圖包含以下內容時,視圖的更新操作將不執行
(1)視圖中不包含基表中被定義非空的列
(2)在定義的視圖的select語句后的字段列表中使用了數字表達式
(3)在定義視圖中的select語句使用了聚合函數
(4)在定義視圖中的select語句使用了distinct,union,top,groupby,或having子句
三.mysql中視圖與表的區別及關系是什么
(1)視圖是以編譯好的SQL語句。是基於SQL語句的結果集的可視化表,而表不是
(2)視圖是沒有物理記錄,而表有
(3)表是內容,視圖是窗口
(4)表占用物理空間而視圖不占用物理空間,視圖只是邏輯概念存在,表可以及時他進行修改,但視圖只能創建的語句來修改
(5)視圖是查看數據表的一種方法。可以查詢數據表中某些字段的數據,只是一些SQL語句的集合,從安全的角度來看,視圖防止用戶接觸數據表,因此用戶不知道表結構
(6)表是全局模式的表,是實表;視圖屬於局域中的表,是虛表
(7)視圖的建立和刪除只是刪除視圖本身,不影響對應的基本表
