亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL入門教程(七)之視圖

2024-07-24 13:09:03
字體:
來源:轉載
供稿:網友

視圖是從一個或多個表中導出來的虛擬表。視圖就像一個窗口,通過這個窗口可以看到系統專門提供的數據。

1、視圖簡介

1.1 視圖的含義

視圖是從一個或多個表中導出來的虛擬表,還可以從已經存在的視圖的基礎上定義。
數據庫中只存放視圖的定義,而不存放視圖中的數據,這些數據仍存放在原來的表中。一旦表中的數據發生變化,顯示在視圖中的數據也會相應變化。
MySQL的視圖并不支持輸入參數的功能,即交互性上較差,但對于變化不是很大的操作,使用視圖可以很大程度上簡化用戶的操作。

1.2 視圖的作用

視圖起著類似于篩選的作用,具體可歸納為

(1)所見即所需,使操作簡單化
(2)通過視圖,用戶只能查詢和修改指定的數據,從而限制了用戶的權限,增加了數據的安全性
(3)視圖可以屏蔽原有表結構變化帶來的影響,從而提高了表的邏輯獨立性。

2、創建視圖

MySQL中,創建視圖是通過Creat View語句實現的,具體為

MySQL,視圖

其中,Algorithm為視圖選擇的算法;屬性清單指定了視圖中各個屬性的名詞,默認情況下與Select語句中查詢的屬性相同;Select語句是一個完整的查詢語句,表示從某個表中查出某些滿足條件的記錄并將這些記錄導入到視圖中;With Check Option表示更新視圖時要保證在該視圖的權限范圍之內,CASCADED表示更新視圖時要滿足所有相關視圖和表的條件,為默認值,Local表示更新視圖時要滿足該視圖本身的定義即可;注意在使用創建視圖時最好加上With Check Option,并選取默認的CASCADED參數。從而保證從視圖派生出來的新視圖在更新后可以考慮其父視圖的約束條件,即更嚴謹。

(1)關于Algorithm中的三個選項,Undefined選項表示MySQL將自動選擇所要使用的算法,Merge選項表示將使用視圖的語句與視圖定義合并起來,使得視圖定義的某一部分代替語句的對應部分,Temptable選項表示將視圖的結果存入臨時表,然后使用臨時表執行語句。

(2)需要注意的是,在創建視圖之前,需要檢查是否具有Create view的權限和查詢涉及的列的Select權限,這些權限保存在MySQL數據庫下面的user表中,可以適用select語句查詢,具體為

select select_priv, create_view_priv from mysql.user where user='用戶名'

其中,用戶名參數表示要查詢哪個用戶是否擁有Drop權限,在我的系統中,只有root用戶。

下面是一個從department表和worker表上創建一個名為worker_view1的視圖的案例

MySQL,視圖

3、查看視圖

查看視圖必須要有show view的權限,同樣保存在user表中。

查看視圖的方法包括describe語句、show table status語句、show create view語句和查詢information_schema數據庫下的views表等。

3.1 describe語句查看簡單信息

查看視圖的describe語句和查看表的語句是一樣的,因為視圖是一種特殊的表,基本形式為

describe 視圖名;

3.2 show table status語句查看基本信息

基本形式為

Show Table Status Like ‘視圖名';

3.3 show create view語句查看詳細信息

基本形式為

Show create view 視圖名;

3.4 在views表中查看詳細信息

MySQL中,所有視圖的定義都存在information_schema數據庫下的views表中,查詢此表即可查看到數據庫中所有視圖的詳細信息。

基本形式為

select * from information_schema.views;

其中*表示查詢所有的列的信息。

顯然用此語句查看到的是所有的視圖,不方便查閱,一般查詢詳細信息時用3.3法即可。

4、修改視圖

當基本表的某些字段發生改變時,有必要修改視圖的定義來保持視圖和基本表之間的一致性。

4.1 Create or replace view語句

此語句很好用,在存在視圖情況下可對視圖進行修改,在沒有視圖情況下,可以創建視圖,具體語法為

MySQL,視圖

實際上,感覺此語句就是重新定義了個視圖并覆蓋了原始圖。<喎?"http://www.49028c.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMyBpZD0="42-alter語句">4.2 Alter語句

回顧前面,alter語句不僅可以創建索引,修改表的定義,在此處,還可以修改視圖的定義。
基本形式為

MySQL,視圖

5、更新視圖

更新視圖是指通過視圖來插入、更新和刪除表中的數據。
更新視圖時,只能更新權限范圍內的數據。
實際上對視圖的更新最后都是實現在基本表上的。

注意以下情況不能更新視圖:

(1)視圖中包含sum(),count(),max()和min()等函數

(2)視圖中包含union,union all,distinct,group by和having等關鍵字

(3)常量視圖,即視圖中的某個字段時常量類型

(4)視圖中的select中包含子查詢

(5)由不可更新的視圖導出的視圖

(6)創建視圖時,algorithm選擇了temptable類型,即系統默認臨時表是不可更新的

(7)視圖對應的表上存在沒有默認值的列,且該列沒有包含在視圖中。因為,在更新視圖時,這個沒有默認值的記錄將沒有值插入,也沒有NULL值插入,系統不允許這種情況出現

由于視圖的更新存在很多限制,一般,最好把視圖作為查詢數據的虛擬表,而不要通過視圖來更新數據,很容易造成更新失敗。

6、刪除視圖

刪除視圖只會刪除視圖的定義,并不會刪除數據。DROP View語句可用來刪除視圖,但用戶必須擁有drop的權限,具體操作為

drop view [if exists] 視圖名列表 [restrict|cascade]

其中,if exists用來判斷視圖存在,存在才執行;在視圖名列表中不同視圖名稱之間通過逗號隔開。

以上所述是小編給大家介紹的MySQL入門教程(七)之視圖,希望對大家有所幫助!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
美日韩精品免费视频| 久久久999成人| 亚洲乱亚洲乱妇无码| 色综合天天狠天天透天天伊人| 亚洲天堂成人在线视频| 精品亚洲永久免费精品| 成人免费午夜电影| 亚洲最新中文字幕| 亚洲 日韩 国产第一| 色综合影院在线| 国产成人精品视频| 久久99亚洲热视| 国产脚交av在线一区二区| 欧美极品少妇xxxxx| 欧美日韩视频在线| 亚洲福利在线看| 久久国产天堂福利天堂| 91精品国产91久久久久| 中文字幕欧美国内| 欧美自拍视频在线| 亚洲免费伊人电影在线观看av| 日韩精品在线观| 欧美裸体男粗大视频在线观看| 日韩国产精品一区| 这里只有精品在线观看| 最近的2019中文字幕免费一页| 亚洲一区二区三区视频| 久久99久久99精品免观看粉嫩| 欧美精品videosex牲欧美| 亚洲国产小视频在线观看| 亚洲片在线资源| 亚洲视频在线免费观看| 国产美女被下药99| 色先锋久久影院av| 精品一区二区亚洲| 91av免费观看91av精品在线| 国产精品jvid在线观看蜜臀| 国产成人av网| 亚洲精品久久久久中文字幕欢迎你| 啪一啪鲁一鲁2019在线视频| 成人黄色免费看| 欧美视频中文字幕在线| 中文字幕视频一区二区在线有码| 久久久免费av| 狠狠躁夜夜躁人人爽超碰91| 中文字幕视频一区二区在线有码| 精品久久久免费| 欧美一级淫片aaaaaaa视频| 91精品免费视频| 精品一区二区三区四区| 欧美另类高清videos| 性日韩欧美在线视频| 欧美专区在线观看| 午夜精品久久久久久久99黑人| 日韩欧美国产一区二区| 亚洲一区二区三区xxx视频| 国产性猛交xxxx免费看久久| 国产一区二区av| 成人福利在线视频| 国产精品一区二区久久精品| 国产视频丨精品|在线观看| 久久亚洲精品网站| 成人h视频在线观看播放| 在线中文字幕日韩| 欧美成人h版在线观看| 国产精品视频99| 国产视频亚洲视频| 美女少妇精品视频| 欧美成人在线免费视频| 亚洲色图偷窥自拍| 91精品国产91久久久久福利| 岛国av在线不卡| 日韩中文字幕网址| 国产v综合ⅴ日韩v欧美大片| 久久久精品视频在线观看| 日韩视频在线一区| 97久久久免费福利网址| 亚洲韩国日本中文字幕| 亚洲r级在线观看| 亚洲第一精品夜夜躁人人爽| 国产亚洲一区二区精品| 亚洲国产精品悠悠久久琪琪| 97色在线视频| 国内外成人免费激情在线视频| 97人洗澡人人免费公开视频碰碰碰| 日本一欧美一欧美一亚洲视频| 欧美猛交ⅹxxx乱大交视频| 亚洲大胆人体在线| 青青草原一区二区| 国语自产精品视频在线看| 青青久久av北条麻妃黑人| 国产精品极品美女粉嫩高清在线| 久久综合伊人77777蜜臀| 欧美猛男性生活免费| 色噜噜亚洲精品中文字幕| 欧美性猛交xxxx乱大交极品| 91香蕉嫩草影院入口| 欧美日本在线视频中文字字幕| 久久综合九色九九| 亚洲欧美日韩精品久久| 日韩电影中文字幕av| 精品国产自在精品国产浪潮| 日韩视频一区在线| 日韩中文第一页| 亚洲人午夜精品| 精品亚洲va在线va天堂资源站| 欧美丝袜一区二区三区| 日韩精品中文字幕久久臀| 在线精品高清中文字幕| 亚洲国产精品视频在线观看| 7777免费精品视频| 日韩欧美在线视频观看| 热re91久久精品国99热蜜臀| 日韩久久免费电影| 日韩有码在线视频| 国产欧美日韩中文| 在线视频国产日韩| 亚洲色图综合网| 精品女同一区二区三区在线播放| 在线亚洲男人天堂| 国产精品av电影| 国产成人精品免高潮在线观看| 日韩在线观看视频免费| 欧美丰满片xxx777| 日韩一区二区欧美| 国产精品白嫩初高中害羞小美女| 68精品国产免费久久久久久婷婷| 国产精品影院在线观看| 在线播放精品一区二区三区| 欧美成人免费全部观看天天性色| 欧美裸体男粗大视频在线观看| 亚洲人成网站999久久久综合| 国产在线播放91| 亚洲成年网站在线观看| 久久精品精品电影网| 欧美一区二区三区免费观看| 欧美电影在线观看高清| 日本一区二区在线播放| 91a在线视频| 亚洲成人久久久| 伦伦影院午夜日韩欧美限制| 欧美巨乳在线观看| 日韩av在线免费观看一区| 亚洲人在线视频| 欧美日韩亚洲国产一区| 一区二区三区 在线观看视| 欧美性xxxx极品高清hd直播| 8090成年在线看片午夜| 亚洲精品久久在线| 亚洲色图狂野欧美| 国产有码一区二区| 日韩少妇与小伙激情| 国产日韩欧美综合| 国产亚洲精品高潮| 欧美日韩成人免费| 欧美激情一区二区三区在线视频观看| 国产精品18久久久久久麻辣| 久久久久成人精品| 欧美孕妇性xx| 亚洲天堂第二页| 98精品国产高清在线xxxx天堂| 久久夜精品香蕉| 69久久夜色精品国产69| 欧美日韩国产综合视频在线观看中文|