大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 實例分析MySQL視圖的創建

實例分析MySQL視圖的創建

更新時間:2021-01-25 17:13:15 來源:動力節點 瀏覽1166次

視圖是指計算機數據庫中的視圖,是一個虛擬表,其內容由查詢定義。MySQL作為目前最流行的關系型數據庫之一,自然也有視圖。視圖其實是存儲在數據庫中的查詢的SQL語句,除了出于安全的目的就是能夠使復雜的查詢易于理解和使用。本文我們就來初步了解MySQL視圖的創建

 

一、MySQL創建視圖標準語法:

CREATE

    [OR REPLACE]

    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    [DEFINER = user]

    [SQL SECURITY { DEFINER | INVOKER }]

    VIEW view_name [(column_list)]

    AS select_statement

    [WITH [CASCADED | LOCAL] CHECK OPTION]

語法解讀:

1)OR REPLACE:表示替換已有視圖,如果該視圖不存在,則CREATE OR REPLACE VIEW與CREATE VIEW相同。

2)ALGORITHM:表示視圖選擇算法,默認算法是UNDEFINED(未定義的):MySQL自動選擇要使用的算法 ;merge合并;temptable臨時表,一般該參數不顯式指定。

3)DEFINER:指出誰是視圖的創建者或定義者,如果不指定該選項,則創建視圖的用戶就是定義者。

4)SQL SECURITY:SQL安全性,默認為DEFINER。

5)select_statement:表示select語句,可以從基表或其他視圖中進行選擇。

6)WITH CHECK OPTION:表示視圖在更新時保證約束,默認是CASCADED。

其實我們日常創建視圖時,無需指定每個參數,一般情況下,建議這樣創建視圖:

create view <視圖名稱> [(column_list)]

as select語句

with check option;

 

二、MySQL視圖創建實例:

# 單表視圖

mysql> create view v_F_players(編號,名字,性別,電話)

    -> as

    -> select PLAYERNO,NAME,SEX,PHONENO from PLAYERS

    -> where SEX='F'

    -> with check option;

Query OK, 0 rows affected (0.00 sec)

 

mysql> desc v_F_players;

+--------+----------+------+-----+---------+-------+

| Field  | Type     | Null | Key | Default | Extra |

+--------+----------+------+-----+---------+-------+

| 編號    | int(11)  | NO   |     | NULL    |       |

| 名字    | char(15) | NO   |     | NULL    |       |

| 性別    | char(1)  | NO   |     | NULL    |       |

| 電話    | char(13) | YES  |     | NULL    |       |

+--------+----------+------+-----+---------+-------+

4 rows in set (0.00 sec)

 

mysql> select * from  v_F_players;

+--------+-----------+--------+------------+

| 編號    | 名字      | 性別    | 電話        |

+--------+-----------+--------+------------+

|      8 | Newcastle | F      | 070-458458 |

|     27 | Collins   | F      | 079-234857 |

|     28 | Collins   | F      | 010-659599 |

|    104 | Moorman   | F      | 079-987571 |

|    112 | Bailey    | F      | 010-548745 |

+--------+-----------+--------+------------+

5 rows in set (0.02 sec)

 

# 多表視圖

mysql> create view v_match

    -> as

    -> select a.PLAYERNO,a.NAME,MATCHNO,WON,LOST,c.TEAMNO,c.DIVISION

    -> from

    -> PLAYERS a,MATCHES b,TEAMS c

    -> where a.PLAYERNO=b.PLAYERNO and b.TEAMNO=c.TEAMNO;

Query OK, 0 rows affected (0.03 sec)

 

mysql> select * from v_match;

+----------+-----------+---------+-----+------+--------+----------+

| PLAYERNO | NAME      | MATCHNO | WON | LOST | TEAMNO | DIVISION |

+----------+-----------+---------+-----+------+--------+----------+

|        6 | Parmenter |       1 |   3 |    1 |      1 | first    |

|       44 | Baker     |       4 |   3 |    2 |      1 | first    |

|       83 | Hope      |       5 |   0 |    3 |      1 | first    |

|      112 | Bailey    |      12 |   1 |    3 |      2 | second   |

|        8 | Newcastle |      13 |   0 |    3 |      2 | second   |

+----------+-----------+---------+-----+------+--------+----------+

5 rows in set (0.04 sec)

 

視圖在使用時和基礎表一樣,比如我們可以使用 select from view_name 或 select from view_name where ... ,視圖可以將我們不需要的數據過濾掉,將相關的列名用我們自定義的列名替換。視圖作為一個訪問接口,不管基表的表結構和表名有多復雜。一般情況下視圖只用于查詢,視圖本身沒有數據,因此對視圖進行的dml操作最終都體現在基表中,對視圖進行delete、update、insert操作,原表同樣會更新,drop視圖原表不會變,視圖不可以truncate。但是一般情況下我們要避免更新視圖,dml操作可以直接對原表進行更新。

 

 

從用戶的角度來看,一個視圖是從一個特定的角度來查看數據庫中的數據。從數據庫系統內部來看,一個視圖是由SELECT語句組成的查詢定義的虛擬表,從數據庫系統外部來看,視圖就如同一張表一樣。不同的角度看待問題,我們能夠得到不一樣的答案,在本站的MySQL教程中,遠遠不止這么簡單的道理,許多優質的知識在等你汲取!

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 奇米777视频二区中文字幕 | 欧美激情精品久久久久久久 | 天堂网一区二区 | 国产精品欧美亚洲韩国日本不卡 | 色网站视频| 成年女人毛片免费观看中文w | 国产欧美亚洲另类第一页 | 日韩国产欧美一区二区三区 | 狠狠狠狠狠狠干 | 香焦视频在线观看黄 | 国产网站视频 | 亚欧在线视频 | 男人边吃奶边爱边做视频日韩 | 神马影院在线观看我不卡 | 国产高清在线精品一区免费97 | 欧美成人一区二区三区在线视频 | 久久亚洲国产精品五月天 | 亚洲免费大片 | 亚洲一区二区三区成人 | 久久天堂夜夜一本婷婷麻豆 | 天天操夜夜操美女 | 全免费午夜一级毛片一级毛 | 午夜dy888理论不卡达达兔 | 99热精品久久只有精品黑人 | 精品国产一区二区三区免费 | 久久99精品热在线观看15 | 久久成人乱小说 | 欧美日韩激情在线 | 99精品大学生啪啪自拍 | 欧美一区二区三区精品国产 | 欧美中文字幕视频 | 男人女人真曰批的视频动态 | 日韩精品欧美精品中文精品 | 伊人久久国产精品 | 999福利视频 | 日产国产欧美视频一区精品 | 免费观看黄色a一级录像 | 久久天堂一区二区三区 | 波多野结衣久久一区二区 | 色综合视频一区二区三区 | 97色97色97色成人 |