09-視圖

視圖基本概念

  • 什么是視圖?
    • 視圖僅僅是表的結(jié)構(gòu), 沒有表的數(shù)據(jù)
    • 視圖的結(jié)構(gòu)和數(shù)據(jù)是建立在表的基礎(chǔ)上的
    • 視圖中保存了一張表或者多張表的部分或者所有數(shù)據(jù)
  • 視圖的作用
+ 例如 表中有id,name,age,gender,score, 我們需要查詢id,name,gender
    + select id,name,gender from stu;
    + 如果在表的基礎(chǔ)上創(chuàng)建了一個包含id,name,gender的視圖
    + select * from stu_view;
- 視圖可以用來隱藏表的結(jié)構(gòu)
    + 表中有id,name,age,gender,score, 視圖中有id,name,gender
    + 那么外界在使用視圖的時候就不知道表中還有age和score

創(chuàng)建視圖語法

  • create view 視圖名稱 as select 語句;
示例一:
select name,city from stu;
create view stu_view as select name,city from stu;
select * from stu_view;

注意點:
視圖僅僅是表的結(jié)構(gòu), 沒有表的數(shù)據(jù)
視圖是建立在表的基礎(chǔ)上的, 如果修改視圖中的數(shù)據(jù)本質(zhì)上是修改了表中的數(shù)據(jù)

#由于視圖不保存數(shù)據(jù), 本質(zhì)上數(shù)據(jù)是插入到了表中
insert into stu_view values('yyyy', '武漢');
#由于視圖不保存數(shù)據(jù), 本質(zhì)上修改的是表中的數(shù)據(jù)
update stu_view set city='杭州' where name='ww';
#由于視圖不保存數(shù)據(jù), 本質(zhì)上刪除的是表中的數(shù)據(jù)
delete from stu_view where name='ww';

示例二:
在多表查詢的時候, 如果需要顯示重復字段, 必須在字段名稱前面加上表名
select * from stuinfo inner join stugrade on stuinfo.stuid=stugrade.stuid;
select stuinfo.stuid, name, score from stuinfo inner join stugrade on stuinfo.stuid=stugrade.stuid;

create view studes_view as select stuinfo.stuid, name, score from stuinfo inner join stugrade on stuinfo.stuid=stugrade.stuid;

更改視圖

  • alter view 視圖名稱 as select 語句;
create view stu_view as select name,city from stu;
# 修改視圖返回的結(jié)果
alter view stu_view as select name,age,city from stu;

刪除視圖

drop view [if exists] 視圖名;
drop view if exists stu_view;

視圖算法(了解)

select * from (select * from stu order by score desc) as t group by city;
#將子查詢封裝到視圖中去
create view order_view as select * from stu order by score desc;
#用視圖替代子查詢
select * from order_view group by city; #結(jié)果出現(xiàn)了誤差

視圖算法
- merge: 合并算法, 將視圖的語句和外層的語句合并之后再執(zhí)行
- temptable: 臨時表算法, 將視圖生成一個臨時表, 再執(zhí)行外層的語句
- undefined: 未定義, 由MySQL自己決定使用如上的哪一種算法, 默認就是undefined
           + 由于合并算法的效率比臨時表算法效率高, 所以MySQL一般會選擇合并算法
- 如上案例中導致數(shù)據(jù)混亂的原因就是因為默認使用了合并算法

#將子查詢封裝到視圖中去
# algorithm=temptable指定視圖的算法
create algorithm=temptable view order_view as select * from stu order by score desc;
#用視圖替代子查詢
select * from order_view group by city;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末铅碍,一起剝皮案震驚了整個濱河市掰吕,隨后出現(xiàn)的幾起案子驱入,更是在濱河造成了極大的恐慌亭珍,老刑警劉巖午阵,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凫碌,死亡現(xiàn)場離奇詭異邻吭,居然都是意外死亡格嗅,警方通過查閱死者的電腦和手機捏雌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門臭脓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腹忽,你說我怎么就攤上這事来累。” “怎么了窘奏?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵嘹锁,是天一觀的道長。 經(jīng)常有香客問我着裹,道長领猾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任骇扇,我火速辦了婚禮摔竿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘少孝。我一直安慰自己继低,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布稍走。 她就那樣靜靜地躺著袁翁,像睡著了一般柴底。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粱胜,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天柄驻,我揣著相機與錄音,去河邊找鬼焙压。 笑死鸿脓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的涯曲。 我是一名探鬼主播答憔,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼掀抹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起心俗,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤傲武,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后城榛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揪利,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年狠持,在試婚紗的時候發(fā)現(xiàn)自己被綠了疟位。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡喘垂,死狀恐怖甜刻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情正勒,我是刑警寧澤得院,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站章贞,受9級特大地震影響祥绞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸭限,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一蜕径、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧败京,春花似錦兜喻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弓坞。三九已至,卻和暖如春车荔,著一層夾襖步出監(jiān)牢的瞬間渡冻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工忧便, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留族吻,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓珠增,卻偏偏與公主長得像超歌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蒂教,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應(yīng)的列上鍵入重復值時巍举,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,253評論 0 9
  • MYSQL 基礎(chǔ)知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 7,787評論 5 116
  • 溶解一切凝垛,想下以后懊悯。 不知道是因為周圍事物的改變而改變?還是因為心理成熟而改變梦皮? 長大了炭分,理解父母的艱辛。 知道了...
    槶喆閱讀 200評論 0 0
  • 插件 -> Plugin Manager -> Show Plugin Manage -> 選擇 NppExec ...
    鐵鋼0閱讀 1,079評論 0 2
  • 頭暈剑肯,發(fā)蒙捧毛,上火,活著沒意思让网,死也不敢呀忧,不甘,‘和讓你快樂的人在一起’溃睹,從未遇到荐虐,誰那么幼稚說這話,以為是撿石頭子...
    美人魚的海閱讀 162評論 0 3