MySQL視圖

1.什么是視圖
由查詢結(jié)果形成的一張?zhí)摂M表
2.什么時(shí)候用到視圖
某個(gè)結(jié)果出現(xiàn)的非常頻繁,(經(jīng)常要用這個(gè)結(jié)果來做子查詢)
3.視圖創(chuàng)建語法
create view 視圖名 as select 語句
4.視圖的優(yōu)點(diǎn)
簡化查詢語句
只開放表的某些列,進(jìn)行權(quán)限控制
大數(shù)據(jù)分表,可以通過視圖進(jìn)行連接
5.視圖與表的關(guān)系
視圖是表的查詢結(jié)果,表的數(shù)據(jù)變了,視圖的結(jié)果也變
6.視圖的運(yùn)算規(guī)則
algorithm = merge/temptable/undefined
merge:當(dāng)引用視圖時(shí),“引用視圖”的語句和“定義視圖”的語句合并;
temptable:根據(jù)視圖創(chuàng)建語句創(chuàng)建一張臨時(shí)表,然后查詢視圖時(shí)候,使用改臨時(shí)表
undefined:未定義,讓系統(tǒng)幫你做選擇
7.更新視圖
更新視圖是指通過視圖對表中的數(shù)據(jù)進(jìn)行insert、update和delete的操作。
8.不能更新視圖的情況
視圖包含sum()、count()、max()和min()等函數(shù)
視圖包含union、union all、distinct、group by、having等關(guān)鍵字
常量視圖
視圖中的select字句包含子查詢
由不可更新的視圖導(dǎo)出的視圖
創(chuàng)建視圖時(shí),algorithm=temptable類型
視圖對應(yīng)的表上存在沒有默認(rèn)值的列,并且改列沒有包含在視圖里
9.查看視圖
describe 視圖名
show table status like '視圖名'(注意''一定要存在)
show create view 視圖名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近項(xiàng)目上有使用到數(shù)據(jù)庫視圖,覺得需要把相關(guān)的知識整理一下方便學(xué)習(xí)。今天先簡單介紹一下視圖的概念和一些基本原理。 ...
    孫進(jìn)不后退閱讀 11,779評論 1 13
  • 什么是視圖 視圖(View)是一種虛擬存在的表,對于使用視圖的用戶來說基本上是透明的。視圖并不在數(shù)據(jù)庫中實(shí)際存在,...
    微日月閱讀 267評論 0 0
  • 視圖 視圖是一個(gè)虛擬表,其內(nèi)容由查詢定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)...
    StrongZhao閱讀 850評論 0 1
  • 什么是SQL數(shù)據(jù)庫: SQL是Structured Query Language(結(jié)構(gòu)化查詢語言)的縮寫。SQL是...
    西貝巴巴閱讀 1,983評論 0 10
  • 作者:鄭童宇GitHub:https://github.com/CrazyZty 1.前言 做了三年左右的Andr...
    鄭童宇閱讀 2,346評論 1 5

友情鏈接更多精彩內(nèi)容