使用示例
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的蒼溪網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
使用示例
使用示例
檢查選項的使用
mysql是可以基于視圖創(chuàng)建視圖,它會檢查視圖所依賴的視圖的規(guī)則
如果再基于v2創(chuàng)建視圖v3,v3沒有定義檢查選項,則此時向v3中插入數(shù)據(jù)時,不會檢查是否滿足v3的條件,但是會檢查是否滿足v2和v1的條件
local選項相比于cascaded,不會自動向上添加選項
如創(chuàng)建一個視圖,此時視圖中只包含一條數(shù)據(jù)
例如,現(xiàn)要查詢每個學(xué)生選修的課程(多對多,三張表),將SQL保存到視圖,以后再想查詢,直接select * from 視圖即可
1、什么是視圖
視圖:MySQL從5.0.1版本開始提供視圖功能。一種虛擬存在的表,行和列的數(shù)據(jù)來自定義視圖的查詢中使用的表,并且是在使用視圖時動態(tài)生成的,只保存了sql邏輯,不保存查詢結(jié)果
2、視圖應(yīng)用場景
多個地方用到同樣的查詢結(jié)果該查詢結(jié)果使用的sql語句較復(fù)雜
4、視圖的好處
使用簡單安全數(shù)據(jù)獨立?
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一個不能更新的視圖(6)where子句的子查詢引用了from子句中的表
7、刪除視圖的語法
用戶可以一次刪除一個或者多個視圖,前提是必須有該視圖的drop權(quán)限。
8、查看視圖結(jié)構(gòu)的語法
show tables;如果需要查詢某個視圖的定義,可以使用show create view命令進(jìn)行查看
1) mysql show table status where comment='view';
(說明:Mysql5.1支持視圖,視圖被看作一種抽象表,因此顯示視圖狀態(tài)的語句與顯示表狀態(tài)的語句相同,只是在comment列中以‘view’區(qū)分)
2) mysql select * from information_schema.tables where table_schema='yourDatabaseName' and table_type='view';
(說明:這種方法通過系統(tǒng)表查找,效果同上,顯示信息更詳細(xì)。如果不能正確顯示結(jié)果,可能是大小寫的問題,Mysql在不同系統(tǒng)平臺不同配置參數(shù)下的顯示結(jié)果可能不同,注意這點。)
show full tables from 數(shù)據(jù)庫名 [like 'pattern']
"[]"表示可選的, like后面跟的是表名的模糊查詢,.
舉例:
一個視圖的名字叫v_user, SQL語句可以寫為show full tables from 數(shù)據(jù)庫名 like '%v_user%';
MySQL查詢視圖