linux创建mysql视图,MySQL视图入门浅析
一. 什么是視圖
視圖是一種虛擬存在的表,行和列數據來自,定義視圖的查詢中使用的表,并且是在使用視圖時動態生成的。優勢有:
簡單: 使用視圖的用戶完全不需要關心后面對應的表的結構,關聯條件,篩選條件。
安全:使用視圖的用戶只能訪問他們被允許查詢的結果集。
數據獨立: 源表增加列對視圖沒有影響,源表修改列名,則通過修改視圖 對應好源表的列名來解決,不會造成對訪問者的影響。
1.1 創建視圖的操作
-- 創建視圖
CREATE? OR REPLACE VIEW view_city
AS
SELECT * FROM city;
-- 查詢視圖
SELECT * FROM view_city;
1.2 修改視圖
-- 修改視圖
ALTER VIEW view_city
AS
SELECT? cityname FROM city;
1.3 限制
視圖一般只是用來做查詢使用,如果要對視圖做修改有如下限制不能更新:
包含關鍵字 聚合函數(sum,min,max,count等),distinct,group by , having,union ,union all。
常量視圖。
select 中包含子查詢。
jion。
from 一個不能更新的視圖。
where 字句的子查詢引用了from字句的表。
LOCAL 是只要滿足本視圖的條件就可以更新, CASCADED 則是必須滿足所有針對該視圖的所有視圖的條件才可以更新, 如果沒有明確是LOCAL 還是CASCADED,則默認是CASCADED,由于視圖基本不做修改,這里就不在演示。
-- local與CASCADED 語法
CREATE? OR REPLACE VIEW view_city
AS
SELECT * FROM city;
-- with(local | CASCADED)? CHECK OPTION;
1.4? 刪除視圖
drop view view_city;
1.5 查看視圖
--? 查看視圖的定義
SHOW CREATE VIEW view_city
-- 查看視圖的定義
SELECT * FROM information_schema.views WHERE table_name = 'view_city'
總結
以上是生活随笔為你收集整理的linux创建mysql视图,MySQL视图入门浅析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp调用php函数,asp函数spli
- 下一篇: 下列关于php说法错误的,PHP试题