日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL如何創建視圖

瀏覽:35日期:2023-10-13 09:24:37

基本語法

可以使用 CREATE VIEW 語句來創建視圖。

語法格式如下:

CREATE VIEW <視圖名> AS <SELECT語句>

語法說明如下。

<視圖名>:指定視圖的名稱。該名稱在數據庫中必須是唯一的,不能與其他表或視圖同名。 <SELECT語句>:指定創建視圖的 SELECT 語句,可用于查詢多個基礎表或源視圖。

對于創建視圖中的 SELECT 語句的指定存在以下限制:

用戶除了擁有 CREATE VIEW 權限外,還具有操作中涉及的基礎表和其他視圖的相關權限。 SELECT 語句不能引用系統或用戶變量。 SELECT 語句不能包含 FROM 子句中的子查詢。 SELECT 語句不能引用預處理語句參數。

視圖定義中引用的表或視圖必須存在。但是,創建完視圖后,可以刪除定義引用的表或視圖。可使用 CHECK TABLE 語句檢查視圖定義是否存在這類問題。

視圖定義中允許使用 ORDER BY 語句,但是若從特定視圖進行選擇,而該視圖使用了自己的 ORDER BY 語句,則視圖定義中的 ORDER BY 將被忽略。

視圖定義中不能引用 TEMPORARY 表(臨時表),不能創建 TEMPORARY 視圖。

WITH CHECK OPTION 的意思是,修改視圖時,檢查插入的數據是否符合 WHERE 設置的條件。

創建基于單表的視圖

MySQL 可以在單個數據表上創建視圖。

查看 test_db 數據庫中的 tb_students_info 表的數據,如下所示。

mysql> SELECT * FROM tb_students_info;+----+--------+---------+------+------+--------+------------+| id | name | dept_id | age | sex | height | login_date |+----+--------+---------+------+------+--------+------------+| 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 || 2 | Green | 3 | 23 | F | 158 | 2016-10-22 || 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 || 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 || 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 || 6 | John | 2 | 21 | M | 172 | 2015-11-11 || 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 || 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 || 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 || 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |+----+--------+---------+------+------+--------+------------+10 rows in set (0.00 sec)

【實例 1】

在 tb_students_info 表上創建一個名為 view_students_info 的視圖,輸入的 SQL 語句和執行結果如下所示。

mysql> CREATE VIEW view_students_info -> AS SELECT * FROM tb_students_info;Query OK, 0 rows affected (0.00 sec)mysql> SELECT * FROM view_students_info;+----+--------+---------+------+------+--------+------------+| id | name | dept_id | age | sex | height | login_date |+----+--------+---------+------+------+--------+------------+| 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 || 2 | Green | 3 | 23 | F | 158 | 2016-10-22 || 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 || 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 || 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 || 6 | John | 2 | 21 | M | 172 | 2015-11-11 || 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 || 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 || 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 || 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |+----+--------+---------+------+------+--------+------------+10 rows in set (0.04 sec)

默認情況下,創建的視圖和基本表的字段是一樣的,也可以通過指定視圖字段的名稱來創建視圖。

【實例 2】

在 tb_students_info 表上創建一個名為 v_students_info 的視圖,輸入的 SQL 語句和執行結果如下所示。

mysql> CREATE VIEW v_students_info -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date) -> AS SELECT id,name,dept_id,age,sex,height,login_date -> FROM tb_students_info;Query OK, 0 rows affected (0.06 sec)mysql> SELECT * FROM v_students_info;+------+--------+------+-------+-------+----------+------------+| s_id | s_name | d_id | s_age | s_sex | s_height | s_date |+------+--------+------+-------+-------+----------+------------+| 1 | Dany | 1 | 24 | F | 160 | 2015-09-10 || 2 | Green | 3 | 23 | F | 158 | 2016-10-22 || 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 || 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 || 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 || 6 | John | 2 | 21 | M | 172 | 2015-11-11 || 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 || 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 || 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 || 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |+------+--------+------+-------+-------+----------+------------+10 rows in set (0.01 sec)

可以看到,view_students_info 和 v_students_info 兩個視圖中的字段名稱不同,但是數據卻相同。因此,在使用視圖時,可能用戶不需要了解基本表的結構,更接觸不到實際表中的數據,從而保證了數據庫的安全。

創建基于多表的視圖

MySQL 中也可以在兩個以上的表中創建視圖,使用 CREATE VIEW 語句創建。

【實例 3】

在表 tb_student_info 和表 tb_departments 上創建視圖 v_students_info,輸入的 SQL 語句和執行結果如下所示。

mysql> CREATE VIEW v_students_info -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date) -> AS SELECT id,name,dept_id,age,sex,height,login_date -> FROM tb_students_info;Query OK, 0 rows affected (0.06 sec)mysql> SELECT * FROM v_students_info;+------+--------+------+-------+-------+----------+------------+| s_id | s_name | d_id | s_age | s_sex | s_height | s_date |+------+--------+------+-------+-------+----------+------------+| 1 | Dany | 1 | 24 | F | 160 | 2015-09-10 || 2 | Green | 3 | 23 | F | 158 | 2016-10-22 || 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 || 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 || 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 || 6 | John | 2 | 21 | M | 172 | 2015-11-11 || 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 || 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 || 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 || 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |+------+--------+------+-------+-------+----------+------------+10 rows in set (0.01 sec)

通過這個視圖可以很好地保護基本表中的數據。視圖中包含 s_id、s_name 和 dept_name,s_id 字段對應 tb_students_info 表中的 id 字段,s_name 字段對應 tb_students_info 表中的 name 字段,dept_name 字段對應 tb_departments 表中的 dept_name 字段。

查詢視圖

視圖一經定義之后,就可以如同查詢數據表一樣,使用 SELECT 語句查詢視圖中的數據,語法和查詢基礎表的數據一樣。

視圖用于查詢主要應用在以下幾個方面:

使用視圖重新格式化檢索出的數據。 使用視圖簡化復雜的表連接。 使用視圖過濾數據。

DESCRIBE 可以用來查看視圖,語法如下:

DESCRIBE 視圖名;

【實例 4】

通過 DESCRIBE 語句查看視圖 v_students_info 的定義,輸入的 SQL 語句和執行結果如下所示。

mysql> DESCRIBE v_students_info;+----------+---------------+------+-----+------------+-------+| Field | Type | Null | Key | Default | Extra |+----------+---------------+------+-----+------------+-------+| s_id | int(11) | NO | | 0 | || s_name | varchar(45) | YES | | NULL | || d_id | int(11) | YES | | NULL | || s_age | int(11) | YES | | NULL | || s_sex | enum(’M’,’F’) | YES | | NULL | || s_height | int(11) | YES | | NULL | || s_date | date | YES | | 2016-10-22 | |+----------+---------------+------+-----+------------+-------+7 rows in set (0.04 sec)

注意:DESCRIBE 一般情況下可以簡寫成 DESC,輸入這個命令的執行結果和輸入 DESCRIBE 是一樣的。

以上就是MySQL如何創建視圖的詳細內容,更多關于MySQL創建視圖的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
青草av.久久免费一区| 国产精品香蕉| 免费成人在线观看| 性色av一区二区怡红| 亚洲欧美日本日韩| 久久av影院| 激情丁香综合| 国产日产一区| 麻豆精品久久| 亚洲国产不卡| 日韩影片在线观看| 视频一区二区不卡| 免播放器亚洲一区| 亚洲精品小说| 水蜜桃久久夜色精品一区| 日本伊人午夜精品| 亚洲精品影视| 91欧美日韩在线| 日韩有码av| 怡红院精品视频在线观看极品| 精品一区二区三区免费看| 久久99免费视频| 免费视频久久| 日韩成人亚洲| 欧美私人啪啪vps| 欧美精品影院| 日本va欧美va精品发布| 亚洲一区区二区| 欧美一区影院| 婷婷成人在线| 国产精品99免费看| 亚洲一区欧美二区| 免费不卡中文字幕在线| 黄色亚洲大片免费在线观看| 欧美中文一区| 亚洲一级二级| 国产精品亚洲综合色区韩国| 97成人在线| 超级白嫩亚洲国产第一| 国内一区二区三区| 狠狠干成人综合网| 久久一区视频| 欧美精品资源| 日韩高清电影免费| 国产精品99一区二区| 日韩va欧美va亚洲va久久| 亚洲综合在线电影| 天海翼精品一区二区三区| 国产成人精品一区二区三区视频| 99久久久久| 美国三级日本三级久久99 | 91精品婷婷色在线观看| 国产在线成人| 国产毛片精品| 视频一区国产视频| 香蕉成人av| 免费国产自线拍一欧美视频| 日韩av午夜在线观看| 免费不卡中文字幕在线| 麻豆视频在线看| 亚洲欧洲美洲国产香蕉| 欧美日韩国产亚洲一区| 免费福利视频一区二区三区| 欧美伊人影院| 亚洲免费毛片| 欧美日韩免费看片| 亚洲风情在线资源| 国产夫妻在线| 嫩呦国产一区二区三区av| 国产欧美88| 国产精品亚洲综合色区韩国| 日韩三级视频| 日韩av电影一区| 国产精品久久久久久久久久白浆 | 亚洲在线免费| 在线中文字幕播放| 国产劲爆久久| 国产丝袜一区| 日韩久久电影| 麻豆国产一区| 视频一区二区欧美| 欧美精品中文| 国产精品网址| 精品亚洲a∨一区二区三区18| 久久99久久人婷婷精品综合| 日本va欧美va欧美va精品| 老色鬼久久亚洲一区二区| 蜜臀av亚洲一区中文字幕| 日韩高清三区| 国产中文在线播放| 18国产精品| 欧美精品激情| 亚洲69av| av资源新版天堂在线| 好看不卡的中文字幕| 日韩中文字幕91| 国产欧美日韩影院| 国产精品国产一区| 免费视频国产一区| 亚洲手机在线| 不卡福利视频| 久久国产成人午夜av影院宅| 久久精品二区亚洲w码 | 国产成人精选| 亚洲女同中文字幕| 国产精品久久久久9999高清| 欧美aa在线观看| 开心激情综合| 久久wwww| 亚洲毛片一区| 欧美成人久久| 久久精品国产99| 久久激情五月婷婷| 日韩欧美一区二区三区免费观看| 婷婷激情图片久久| 偷拍亚洲精品| 欧美aⅴ一区二区三区视频| 亚洲在线观看| 国产精品高潮呻吟久久久久| 最新亚洲国产| 国产日产精品_国产精品毛片 | 91精品精品| 丝袜国产日韩另类美女| 日韩一区二区免费看| 亚洲香蕉久久| 欧美aa在线视频| 久久久精品午夜少妇| 亚洲香蕉网站| 亚洲理论在线| 国产成人精品福利| 欧美不卡高清| 国产日韩在线观看视频| xxxxx性欧美特大| 亚洲精品一区二区在线看| 日本精品久久| 国产欧美一区二区三区精品酒店| 亚洲综合在线电影| 久久久久久免费视频| 99精品视频在线观看免费播放| 中文精品在线| 久久亚洲黄色| 日韩欧美精品| 欧美成人基地| 免费不卡在线观看| 国产精品网站在线看| 久久一区二区三区喷水| 日韩三级久久| 欧美日韩国产高清| 精品国产精品国产偷麻豆| 免费的成人av| 婷婷综合六月| 美女视频一区在线观看| 久久电影一区| 丰满少妇一区| 亚洲欧美久久精品| 91久久久精品国产| 国产一二在线播放| 国产精品白浆| 日韩精彩视频在线观看| 国产视频一区三区| 中文另类视频| 91综合视频| 久久av影院| 国产剧情一区二区在线观看| 亚洲毛片在线| 日韩一区免费| 在线精品亚洲| 亚洲一区国产一区| 日韩欧美一区二区三区在线观看| 亚洲欧美日韩国产综合精品二区 | 国产黄色精品| 99久久激情| 三上亚洲一区二区| 亚洲精品少妇| 免费毛片在线不卡| 91欧美日韩在线| 久久国内精品自在自线400部| 国产精品中文字幕亚洲欧美| 久久av综合| 欧美a级片一区| 蜜桃视频在线观看一区二区| 国产亚洲一区二区三区不卡| 欧美中文一区二区| 中文字幕乱码亚洲无线精品一区| 国产精品三p一区二区| 欧美一区二区三区高清视频| 69堂免费精品视频在线播放| 97精品在线| 日韩和欧美一区二区| 中文在线资源| 欧美日韩伊人| 中文字幕一区二区精品区| 91九色精品| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 欧美日韩国产在线观看网站 | 国产精品久久久久久久久久10秀 | 日本久久成人网| 蜜桃一区二区三区在线| 蜜桃免费网站一区二区三区| 综合精品一区|