




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
視圖的創(chuàng)建和使用
視圖概述
本節(jié)內(nèi)容1.視圖的概念2.視圖的優(yōu)點(diǎn)視圖概述數(shù)據(jù)庫中的視圖是一種存儲查詢的數(shù)據(jù)庫對象,是基于查詢的一種虛擬表。是從一個(gè)或多個(gè)數(shù)據(jù)表或視圖中導(dǎo)出的虛擬表或查詢表,是關(guān)系數(shù)據(jù)庫系統(tǒng)提供給用戶以多種角度觀察數(shù)據(jù)庫中數(shù)據(jù)的重要機(jī)制。視圖保存的是一條查詢語句,本身不含數(shù)據(jù)。視圖其實(shí)只儲存了它的定義(SELECT語句),而沒有儲存視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的數(shù)據(jù)表中,在視圖中看到的數(shù)據(jù)其實(shí)是基本表中的數(shù)據(jù)。視圖可以象表一樣使用。通過視圖不僅可以查詢獲得數(shù)據(jù),還可以修改數(shù)據(jù)。當(dāng)對視圖的數(shù)據(jù)進(jìn)行操作時(shí),系統(tǒng)是根據(jù)視圖的定義去操作與視圖相關(guān)聯(lián)的基本表中的數(shù)據(jù)的。1.視圖的概念視圖概述直觀的查詢:用戶只需要關(guān)注需要的數(shù)據(jù),而不必關(guān)心底層復(fù)雜的實(shí)現(xiàn)。安全的查詢:可以使用視圖可以屏蔽、隱藏底層表的物理結(jié)構(gòu)和數(shù)據(jù);視圖的權(quán)限與表的權(quán)限也可以完全不同。可以更新的查詢:可以通過視圖增、刪、改底層源表的記錄。2.視圖的優(yōu)點(diǎn)謝謝視圖的創(chuàng)建和使用
創(chuàng)建視圖
本節(jié)內(nèi)容1.使用Navicat對話方式創(chuàng)建視圖2.使用CREATEVIEW語句創(chuàng)建視圖創(chuàng)建視圖以在學(xué)生管理數(shù)據(jù)庫(stuInfo)中創(chuàng)建視圖v_student為例,操作步驟如下:在Navicat控制臺中,打開新建視圖窗口。1.使用Navicat對話方式創(chuàng)建視圖創(chuàng)建視圖點(diǎn)擊工具欄上的“視圖創(chuàng)建工具”按鈕,顯示視圖設(shè)計(jì)對話框。1.使用Navicat對話方式創(chuàng)建視圖創(chuàng)建視圖點(diǎn)擊工具欄上的“保存”按鈕,在彈出的對話框中輸入視圖名“v_student”,單擊“確定”按鈕,即可完成視圖(v_student)的創(chuàng)建。1.使用Navicat對話方式創(chuàng)建視圖創(chuàng)建視圖視圖創(chuàng)建完成以后,可以通過該視圖進(jìn)行數(shù)據(jù)查詢。1.使用Navicat對話方式創(chuàng)建視圖創(chuàng)建視圖創(chuàng)建視圖使用CREATEVIEW語句,其語法格式如下:
CREATE [ALGORITHM={UNDEFIEND|MERGE|TEMPTABLE}] VIEW<視圖名>[(<字段名>[,……n])] AS<SELECT語句> [WITH[CASCADED|LOCAL]CHECKOPTION]2.使用CREATEVIEW語句創(chuàng)建視圖創(chuàng)建視圖說明:ALGORITHM是可選參數(shù),表示視圖選擇的算法,包括UNDEFIEND、MERGE和TEMPTABLE三個(gè)選項(xiàng)。<字段名>:視圖字段的名稱。一般該名稱為所選數(shù)據(jù)源的字段名,也可以重新命名字段。<SELECT語句>:用于創(chuàng)建視圖的SELECT語句(查詢語句)??梢詥伪聿樵?,也可以多表查詢。WITH[CASCADED|LOCAL]CHECKOPTION:帶有檢查選項(xiàng),默認(rèn)不檢查。2.使用CREATEVIEW語句創(chuàng)建視圖操作案例知識點(diǎn)概述示例6-1運(yùn)行結(jié)果如下:創(chuàng)建視圖v_stu,列出所有1995年9月1日及之后出生的學(xué)生名單。操作案例知識點(diǎn)概述示例6-2運(yùn)行結(jié)果如下:創(chuàng)建視圖v_cou,列出學(xué)分大于4的課程ID、課程編號、課程名稱、學(xué)分,要求使用“WITHCHECKOPTION”子句。操作案例知識點(diǎn)概述示例6-3運(yùn)行結(jié)果如下:創(chuàng)建視圖v_stu_grade,列出學(xué)號、姓名、性別、班級、課程名稱、成績。謝謝視圖的創(chuàng)建和使用
查看視圖
本節(jié)內(nèi)容1.使用DESCRIBE|DESC語句查看視圖基本信息2.使用SHOWTABLESTATUS語句查看視圖基本信息3.使用SHOWCREATEVIEW語句查看視圖詳細(xì)信息4.在views表中查看視圖詳細(xì)信息查看視圖使用DESCRIBE|DESC語句可以用來查看視圖的基本信息。其語法格式如下:
DESCRIBE|DESC<視圖名>1.使用DESCRIBE|DESC語句查看視圖基本信息操作案例知識點(diǎn)概述示例6-4運(yùn)行結(jié)果如下:使用DESCRIBE|DESC語句查看視圖v_stu的基本信息。查看視圖使用SHOWTABLESTATUS語句也可以用來查看視圖的基本信息。其語法格式如下:
SHOWTABLESTATUS[LIKE'視圖名']說明:LIKE關(guān)鍵字后面的字符串中也可以使用通配符。2.使用SHOWTABLESTATUS語句查看視圖基本信息操作案例知識點(diǎn)概述示例6-5運(yùn)行結(jié)果如下:使用SHOWTABLESTATUS語句查看視圖v_stu的基本信息。說明:以上執(zhí)行結(jié)果顯示,表的Comment項(xiàng)的值為VIEW,表明該表為視圖。Engine、Data_length等項(xiàng)都為NULL或0,表明視圖是虛擬表。查看視圖使用SHOWCREATEVIEW語句可以用來查看視圖的詳細(xì)信息。其語法格式如下:
SHOWCREATEVIEW<視圖名>3.使用SHOWCREATEVIEW語句查看視圖詳細(xì)信息操作案例知識點(diǎn)概述示例6-6運(yùn)行結(jié)果如下:使用SHOWCREATEVIEW語句查看視圖v_stu的詳細(xì)信息。查看視圖在MySQL中,所有視圖的定義都保存在information_schema數(shù)據(jù)庫下的views表中。查詢views表,可以用來查看數(shù)據(jù)庫中所有視圖的詳細(xì)信息。查詢語句如下:
SELECT*FROMinformation_schema.views [WHERETABLE_NAME='視圖名']說明:WHERE子句中也可以使用LIKE模糊查詢。4.在views表中查看視圖詳細(xì)信息操作案例知識點(diǎn)概述示例6-7運(yùn)行結(jié)果如下:使用SELECT語句查詢views表中的信息。謝謝視圖的創(chuàng)建和使用
修改視圖
本節(jié)內(nèi)容1.使用Navicat對話方式修改視圖2.使用CREATEORREPLACEVIEW語句修改視圖3.使用ALTERVIEW語句修改視圖修改視圖以修改學(xué)生管理數(shù)據(jù)庫(stuInfo)中的視圖v_student為例,操作步驟如下:在Navicat控制臺中,打開視圖設(shè)計(jì)窗口;點(diǎn)擊工具欄上的“視圖創(chuàng)建工具”按鈕,顯示視圖設(shè)計(jì)對話框。修改后點(diǎn)擊“確定”按鈕即可!1.使用Navicat對話方式修改視圖修改視圖使用CREATEORREPLACEVIEW語句可以來修改視圖。如果視圖已經(jīng)存在,則對視圖進(jìn)行修改;如果不存在,則創(chuàng)建視圖。其語法格式如下:
CREATEORREPLACE [ALGORITHM={UNDEFIEND|MERGE|TEMPTABLE}] VIEW<視圖名>[(<字段名>[,……n])] AS<SELECT語句> [WITH[CASCADED|LOCAL]CHECKOPTION]說明:以上所有參數(shù)與創(chuàng)建視圖的參數(shù)一樣。2.使用CREATEORREPLACEVIEW語句修改視圖操作案例知識點(diǎn)概述示例6-8運(yùn)行結(jié)果如下:修改視圖v_stu,列出所有1995年9月1日及之后出生的女生名單。修改視圖使用ALTERVIEW語句修改視圖的語法格式如下:
ALTER [ALGORITHM={UNDEFIEND|MERGE|TEMPTABLE}] VIEW<視圖名>[(<字段名>[,……n])] AS<SELECT語句> [WITH[CASCADED|LOCAL]CHECKOPTION]說明:以上所有參數(shù)與創(chuàng)建視圖的參數(shù)一樣。3.使用ALTERVIEW語句修改視圖操作案例知識點(diǎn)概述示例6-9運(yùn)行結(jié)果如下:修改視圖v_stu_grade,列出“網(wǎng)絡(luò)131”班學(xué)生的學(xué)號、姓名、班級、課程編號、課程名稱、成績。謝謝視圖的創(chuàng)建和使用
更新視圖
本節(jié)內(nèi)容1.通過視圖向表中插入數(shù)據(jù)2.通過視圖修改表中數(shù)據(jù)3.通過視圖刪除表中數(shù)據(jù)更新視圖通過視圖除了可以查詢表中數(shù)據(jù)以外,還可以通過視圖更新(插入/修改/刪除)表中數(shù)據(jù)。因?yàn)橐晥D是一個(gè)虛擬表,其中沒有數(shù)據(jù)。通過視圖更新時(shí),都是轉(zhuǎn)換到基本表來更新。更新視圖的語法與更新數(shù)據(jù)表的語法相同。更新視圖更新視圖時(shí),只有更新權(quán)限范圍內(nèi)的數(shù)據(jù),超出了范圍,就不能更新。以下幾種情況是不能更新視圖的:視圖中包含由COUNT()、SUM()、AVG()、MAX()、MIN()等函數(shù)生成的列。視圖中包含DISTINCT、GROUPBY、HAVING等關(guān)鍵字。視圖中包含由常量、或者通過計(jì)算生成的列。視圖中包含由子查詢生成的列。除了上述情況不能更新視圖以外,WITHCHECKOPTION選項(xiàng)也將決定視圖能否更新。更新視圖通過視圖向表中插入數(shù)據(jù)使用INSERT語句,其語法格式與直接向表中插入數(shù)據(jù)的語法格式相同。1.通過視圖向表中插入數(shù)據(jù)操作案例知識點(diǎn)概述示例6-10運(yùn)行結(jié)果如下:通過視圖v_stu插入一條新的學(xué)生記錄。操作案例知識點(diǎn)概述示例6-11運(yùn)行結(jié)果如下:通過視圖v_cou插入一條新的課程記錄。操作案例知識點(diǎn)概述示例6-12運(yùn)行結(jié)果如下:通過視圖v_cou再插入一條學(xué)分(credit)為4的課程記錄。說明:若在創(chuàng)建視圖時(shí)指定了WITHCHECKOPTION選項(xiàng),插入的記錄必須要符合視圖定義時(shí)指定的條件范圍,否則不允許插入。更新視圖通過視圖修改表中數(shù)據(jù)使用UPDATE語句,其語法格式與直接修改表中數(shù)據(jù)的語法格式相同。2.通過視圖修改表中數(shù)據(jù)操作案例知識點(diǎn)概述示例6-13運(yùn)行結(jié)果如下:通過視圖v_stu把學(xué)號為“1308013110”學(xué)生的班級修改為“網(wǎng)絡(luò)131”。說明:通過視圖修改表中數(shù)據(jù),必須要符合視圖定義時(shí)指定的條件范圍,只有滿足條件范圍內(nèi)的數(shù)據(jù)才可以修改;同時(shí),若在創(chuàng)建視圖時(shí)指定了WITHCHECKOPTION選項(xiàng),修改后的數(shù)據(jù)也要符合視圖定義時(shí)指定的條件范圍,否則不允許修改。更新視圖通過視圖刪除表中數(shù)據(jù)使用DELETE語句,其語法格式與直接刪除表中數(shù)據(jù)的語法格式相同。3.通過視圖刪除表中數(shù)據(jù)操作案例知識點(diǎn)概述示例6-14運(yùn)行結(jié)果如下:通過視圖v_cou刪除課程編號為“01004”的課程記錄。說明:通過視圖刪除表中數(shù)據(jù),必須要符合視圖定義時(shí)指定的條件范圍,只有滿足條件范圍內(nèi)的數(shù)據(jù)才可以刪除。謝謝視圖的創(chuàng)建和使用
刪除視圖
本節(jié)內(nèi)容1.使用Navicat對話方式刪除視圖2.使用DROPVIEW語句刪除視圖刪除視圖以刪除學(xué)生管理數(shù)據(jù)庫(stuInfo)中的視圖v_student為例,操作步驟如下:打開Navicat控制臺,依次展開“LDL->stuI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出差合同范本
- 醫(yī)院聘用合同范例
- 單位食堂做飯合同范本
- 臺州市勞動合同范本
- 《看見》讀書心得
- 口腔招聘合同范例
- 前期物業(yè)選聘合同范例
- 軍訓(xùn)食堂合同范本
- 單位門口租房車合同范本
- 企業(yè)賬號保護(hù)合同范本
- 2024年新蘇教版六年級下冊科學(xué)全冊知識點(diǎn)(精編版)
- 華為十六字方針解析以崗定級-以級定薪-人崗匹配、易崗易薪
- 礦山機(jī)電專業(yè)課程標(biāo)準(zhǔn)范本
- 自考《組織行為學(xué)》全
- 【銅版畫“飛塵”技法實(shí)踐研究4900字(論文)】
- 人教版道德與法治五年級下冊全冊課件(完整版)
- 《GMP實(shí)務(wù)教程》 完整全套教學(xué)課件 項(xiàng)目1-14 GMP基礎(chǔ)知識-藥品生產(chǎn)行政檢查
- 房屋租賃交接家私清單
- 《Hadoop大數(shù)據(jù)平臺基礎(chǔ)》復(fù)習(xí)考試題庫(帶答案)
- 大單元下的教學(xué)評一體化
- 注射用A型肉毒毒素管理制度
評論
0/150
提交評論