程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL入門學習之十:視圖的基本操作

MYSQL入門學習之十:視圖的基本操作

編輯:MySQL綜合教程

MYSQL入門學習之十:視圖的基本操作   相關鏈接: MYSQL入門學習之一:基本操作 http://www.BkJia.com/database/201212/173868.html MYSQL入門學習之二:使用正則表達式搜索 http://www.BkJia.com/database/201212/173869.html MYSQL入門學習之三:全文本搜索 http://www.BkJia.com/database/201212/173873.html MYSQL入門學習之四:MYSQL的數據類型 http://www.BkJia.com/database/201212/175536.html MYSQL入門學習之五:MYSQL的字符集 http://www.BkJia.com/database/201212/175541.html MYSQL入門學習之六:MYSQL的運算符 http://www.BkJia.com/database/201212/175862.html MYSQL入門學習之七:MYSQL常用函數 http://www.BkJia.com/database/201212/175864.html MYSQL入門學習之八:數據庫及表的基本操作 http://www.BkJia.com/database/201212/175867.html MYSQL入門學習之九:索引的簡單操作 http://www.BkJia.com/database/201212/176772.html   一、視圖的基本介紹  www.2cto.com           視圖是虛擬的表。與包含數據的表不一樣,視圖只包含使用時動態檢索數據的查詢。         使用視圖需要MySQL5及以後的版本支持。         下面是視圖的一些常見應用:         重用SQL語句;         簡化復雜的SQL操作;         使用表的組成部分而不是整個表;         保護數據;         更改數據格式和表示;         在視圖創建之後,可以用與表基本相同的方式利用它們。         但對於大量的復雜或嵌套視圖,性能可能下降得很厲害。因此在部署相應的應用前,應進行充分的測試。 二、使用視圖的規則和限制         與表一樣,視圖必須唯一命名(不能給視圖取與別的視圖或表相同的名字);         對於可以創建的視圖數目沒有限制;         為了創建視圖,必須具有足夠的訪問權限;         視圖可嵌套;         ORDER BY可以用在視圖中;         視圖不能索引,也不能有關聯的觸發器或默認值;         視圖可以和表一起使用; 三、使用視圖 1、創建視圖         create  view view_name         AS         select 語句         示例:         mysql> create or replace view v_pic_url             -> as             -> select             ->     id,url             -> from v9_picture             -> where catid=17; 2、查看創建視圖的語句         SHOW CREATE VIEW viewname;         示例:         mysql> show create view v_pic_url;         +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+         | View      | Create View                                                                                                                                                                                                     | character_set_client | collation_connection |         +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+         | v_pic_url | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_pic_url` AS select `v9_picture`.`id` AS `id`,`v9_picture`.`url` AS `url` from `v9_picture` where (`v9_picture`.`catid` = 17) | latin1               | latin1_swedish_ci    |         +-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ 3、刪除視圖         DROP VIEW viewname;         示例:         mysql> drop view v_pic_url; 4、更新視圖結構         可以先將視圖DROP,再使用CREATE語句創建;         也可以直接使用CREATE OR REPLACE VIEW語句; 四、更新視圖數據         通常,視圖是可更新的(即,可以對它們使用INSERT、UPDATE和DELETE)。更新一個視圖將更新其基表。如果對視圖增加或刪除行,實際上是對其基表增加或刪除行。         但是,並非所有視圖都是可更新的。如果視圖定義中有以下操作,則不能進行視圖的更新:         分組(使用GROUP BY和HAVING);         聯結;         子查詢;         並;         聚焦函數;         DISTINCT;         導出(計算)列;         一般,應該將視圖用於檢索而不用於更新。   參考:《MySQL必知必會》

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved