1、什么是視圖
創(chuàng)新互聯(lián)建站專注于奇臺(tái)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供奇臺(tái)營銷型網(wǎng)站建設(shè),奇臺(tái)網(wǎng)站制作、奇臺(tái)網(wǎng)頁設(shè)計(jì)、奇臺(tái)網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造奇臺(tái)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供奇臺(tái)網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
視圖:MySQL從5.0.1版本開始提供視圖功能。一種虛擬存在的表,行和列的數(shù)據(jù)來自定義視圖的查詢中使用的表,并且是在使用視圖時(shí)動(dòng)態(tài)生成的,只保存了sql邏輯,不保存查詢結(jié)果
2、視圖應(yīng)用場景
多個(gè)地方用到同樣的查詢結(jié)果該查詢結(jié)果使用的sql語句較復(fù)雜
4、視圖的好處
使用簡單安全數(shù)據(jù)獨(dú)立?
5、創(chuàng)建或者修 改視圖
創(chuàng)建視圖的語法:
修改視圖的語法
6、視圖更新性
視圖的可更新性和視圖中查詢的定義有關(guān)系,以下類型的視圖是不能更新的。(1)包含以下關(guān)鍵字的sql語句:分組函數(shù)、distinct、group ?by、having、union或者union all(2)常量視圖(3)Select中包含子查詢(4)join(5)from一個(gè)不能更新的視圖(6)where子句的子查詢引用了from子句中的表
7、刪除視圖的語法
用戶可以一次刪除一個(gè)或者多個(gè)視圖,前提是必須有該視圖的drop權(quán)限。
8、查看視圖結(jié)構(gòu)的語法
show tables;如果需要查詢某個(gè)視圖的定義,可以使用show create view命令進(jìn)行查看
使用示例
使用示例
使用示例
檢查選項(xiàng)的使用
mysql是可以基于視圖創(chuàng)建視圖,它會(huì)檢查視圖所依賴的視圖的規(guī)則
如果再基于v2創(chuàng)建視圖v3,v3沒有定義檢查選項(xiàng),則此時(shí)向v3中插入數(shù)據(jù)時(shí),不會(huì)檢查是否滿足v3的條件,但是會(huì)檢查是否滿足v2和v1的條件
local選項(xiàng)相比于cascaded,不會(huì)自動(dòng)向上添加選項(xiàng)
如創(chuàng)建一個(gè)視圖,此時(shí)視圖中只包含一條數(shù)據(jù)
例如,現(xiàn)要查詢每個(gè)學(xué)生選修的課程(多對(duì)多,三張表),將SQL保存到視圖,以后再想查詢,直接select * from 視圖即可
show full tables from 數(shù)據(jù)庫名 [like 'pattern']
"[]"表示可選的, like后面跟的是表名的模糊查詢,.
舉例:
一個(gè)視圖的名字叫v_user, SQL語句可以寫為show full tables from 數(shù)據(jù)庫名 like '%v_user%';
MySQL查詢視圖