前言
從今天開(kāi)始本系列文章就帶各位小伙伴學(xué)習(xí)數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)技術(shù)是Java開(kāi)發(fā)中必不可少的一部分知識(shí)內(nèi)容。也是非常重要的技術(shù)。本系列教程由淺入深,?全面講解數(shù)據(jù)庫(kù)體系。?非常適合零基礎(chǔ)的小伙伴來(lái)學(xué)習(xí)。
全文大約 【1297】字,不說(shuō)廢話(huà),只講可以讓你學(xué)到技術(shù)、明白原理的純干貨!本文帶有豐富案例及配圖,讓你更好的理解和運(yùn)用文中的技術(shù)概念,并可以給你帶來(lái)具有足夠啟迪的思考......
一.?視圖
1.?什么是視圖
視圖,虛擬表,從一個(gè)表或多個(gè)表中查詢(xún)出來(lái)的表,作用和真實(shí)表一樣,包含一系列帶有行和列的數(shù)據(jù)。視圖中,用戶(hù)可以使用SELECT語(yǔ)句
查詢(xún)數(shù)據(jù),也可以使用INSERT,UPDATE,DELETE
修改記錄,視圖可以使用戶(hù)操作方便,并保障數(shù)據(jù)庫(kù)系統(tǒng)安全。
2.?視圖特點(diǎn)
優(yōu)點(diǎn):
●?簡(jiǎn)單化,數(shù)據(jù)所見(jiàn)即所得。
●?安全性,用戶(hù)只能查詢(xún)或修改他們所能見(jiàn)到得到的數(shù)據(jù)。
●?邏輯獨(dú)立性,可以屏蔽真實(shí)表結(jié)構(gòu)變化帶來(lái)的影響。
缺點(diǎn):
●?性能相對(duì)較差,簡(jiǎn)單的查詢(xún)也會(huì)變得稍顯復(fù)雜。
●?修改不方便,特變是復(fù)雜的聚合視圖基本無(wú)法修改。
3.?視圖的創(chuàng)建
下面給各位小伙伴介紹視圖的創(chuàng)建語(yǔ)法,as后面就是SELECT查詢(xún)的SQL語(yǔ)句。是不是很簡(jiǎn)單呢。
語(yǔ)法:CREATE??VIEW??視圖名??AS??查詢(xún)數(shù)據(jù)源表語(yǔ)句;
舉個(gè)栗子:創(chuàng)建視圖。
#創(chuàng)建?v_student?的視圖,其視圖從?student?表中查詢(xún)到學(xué)生id和名字。
CREATE?VIEW?v_student?AS?select?SId,Sname?from?student;
使用視圖其實(shí)和使用表沒(méi)啥區(qū)別,正常查詢(xún)就可以了。如下:
#查詢(xún)?v_student?視圖中所有學(xué)生。
SELECT?*?FROM?v_student;
4.?視圖的修改
語(yǔ)法一的意思是兼具視圖創(chuàng)建和修改的功能,視圖如果存在就修改,如果視圖不存在就創(chuàng)建視圖。而語(yǔ)法二只有修改功能。
語(yǔ)法一: CREATE??OR??REPLACE??VIEW??視圖名??AS??查詢(xún)語(yǔ)句;
語(yǔ)法二: ALTER??VIEW??視圖名??AS??查詢(xún)語(yǔ)句;
舉個(gè)栗子:修改視圖。
#方式?1:如果視圖存在則進(jìn)行修改,反之,進(jìn)行創(chuàng)建
CREATE?OR?REPLACE?VIEW?v_student?AS?SELECT?SId,Sname,Sage?from?student;
#方式?2:直接對(duì)已存在的視圖進(jìn)行修改
ALTER?VIEW?v_student?AS?SELECT?SId,Sname,Sage?from?student;
5.?視圖的刪除
下面這個(gè)最簡(jiǎn)單的語(yǔ)法就是刪除視圖的語(yǔ)法。健哥友情提醒,使用起來(lái)要小心哦,刪了就沒(méi)了。
DROP??VIEW??視圖名
舉個(gè)栗子:刪除視圖。
#刪除v_student視圖。?DROP?VIEW?v_student;
注意: 刪除視圖不會(huì)影響原表。
6.?視圖的注意事項(xiàng)
注意:
●?視圖不會(huì)獨(dú)立存儲(chǔ)數(shù)據(jù),原表發(fā)生改變,視圖也發(fā)生改變。沒(méi)有優(yōu)化任何查詢(xún)性能。
●?如果視圖包含以下結(jié)構(gòu)中的一種,則視圖不可更新。
●?聚合函數(shù)的結(jié)果。
●?DISTINCT?去重后的結(jié)果。
●?GROUP?BY?分組后的結(jié)果。
●?HAVING?篩選過(guò)濾后的結(jié)果。
●?UNION、UNION?ALL?聯(lián)合后的結(jié)果。
二.?結(jié)語(yǔ)
最后在這里對(duì)本文核心要點(diǎn)進(jìn)行總結(jié):
1.? 視圖是數(shù)據(jù)庫(kù)中簡(jiǎn)單實(shí)用的一種工具,可以將復(fù)雜的多表查詢(xún)封裝成視圖,在查詢(xún)的時(shí)候只需要簡(jiǎn)單的一個(gè)查詢(xún)就能得到想要的結(jié)果。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-447494.html
2.? 注意在創(chuàng)建視圖中包含聚合函數(shù)、DISTINCT?去重、GROUP?BY?分組、HAVING?篩選、UNION?ALL?查詢(xún)結(jié)果合并的時(shí)候,視圖不可以更新。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-447494.html
到了這里,關(guān)于玩轉(zhuǎn)MYSQL數(shù)據(jù)庫(kù)之--視圖詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!