关于SQL视图的创建和使用方法
生活随笔
收集整理的這篇文章主要介紹了
关于SQL视图的创建和使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL視圖的創建和使用 視圖這個東西在其他的軟件中,我們也經??吹玫?#xff0c;例如word中就有視圖,我們不難發現,視圖似乎是一種顯示方式,就像WORD一樣,有幾種顯示版面,這就是視圖,那么SQL中的視圖又該怎么定義呢?今兒我要學習一下,做個筆記。這是在繼SQL數據庫高級查詢和子查詢之后的又一個重要內容。 1.什么是視圖? 視圖是一個虛擬的表,是一個表中的數據經過某種篩選后的顯示方式,視圖由一個預定義的查詢select語句組成。 2.視圖的特點。 視圖中的數據并不屬于視圖本身,而是屬于基本的表,對視圖可以像表一樣進行insert,update,delete操作。 視圖不能被修改,表修改或者刪除后應該刪除視圖再重建。 視圖的數量沒有限制,但是命名不能和視圖以及表重復,具有唯一性。 視圖可以被嵌套,一個視圖中可以嵌套另一個視圖。 視圖不能索引,不能有相關聯的觸發器和默認值,sql server不能在視圖后使用order by排序。 舉例:查詢“心理學”考試成績大于80的學生的“學號”、“姓名”、“所屬院系”。 Student(學號,姓名,性別,所屬院系) Course(課號,課名,學分) Score(學號,課號,考試成績,平時成績) 這需要通過聯合查詢來解決問題了,參數不足,只得如此,來寫一條語句試試: Select st.學號,st.姓名,st.所屬院系 from student as st,course as co,score as sc Where co.課名=’心理學’ and sc.考試成績>80 and st.學號=sc.學號 and co.課號=sc.課號 這條語句看起來很長,有一點點復雜,如果每次都要先寫這條語句查詢后在對查詢的結果操作,就會顯得復雜,創建一個視圖就能解決這個問題了。 創建視圖: Create view vw1 as Select st.學號,st.姓名,st.所屬院系 from student as st,course as co,score as sc Where co.課名=’心理學’ and sc.考試成績>80 and st.學號=sc.學號 and co.課號=sc.課號 這樣就可以世界查看視圖,查看數據了。 3.視圖的功能 1.簡化用戶操作 2.能以不同的角度觀察同一個數據庫 3.對重構數據庫提供了邏輯獨立性: 利用視圖將需要的數據合并或者篩選,但是不影響原表的數據和結構 3.對機密數據提供安全保護: 可以建立不同的視圖對用不同的用戶,以達到安全的目的。 建立一個表如圖所示: SQL SERVER學生表student 建立一個視圖,實驗一下: Create view vw1 as Select 學號,姓名,所屬院系 From student Where 課名=’軟件工程’ and 所屬院系=’計算機’ 運行語句建立視圖: 建立的一個成功的視圖vw1 建立視圖的語法: Create view 視圖名稱[(字段1) (字段2) (字段3)…] AS Select 查詢語句 [with ?check ?option] 參數:[with check ?option]可選項,防止用戶對數據插入、刪除、更新是操作了視圖范圍外的基本表的數據。 刪除視圖的語法: Drop view 視圖名稱
轉載于:https://www.cnblogs.com/LiZhongZhongY/p/10754496.html
總結
以上是生活随笔為你收集整理的关于SQL视图的创建和使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ.4160.[NEERC2009
- 下一篇: java实现二叉树