【转】MYSQL入门学习之十:视图的基本操作
生活随笔
收集整理的這篇文章主要介紹了
【转】MYSQL入门学习之十:视图的基本操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載地址:http://www.2cto.com/database/201212/176775.html
一、視圖的基本介紹 ?www.2cto.com ? 視圖是虛擬的表。與包含數(shù)據(jù)的表不一樣,視圖只包含使用時動態(tài)檢索數(shù)據(jù)的查詢。 使用視圖需要MySQL5及以后的版本支持。 下面是視圖的一些常見應(yīng)用: 重用SQL語句; 簡化復(fù)雜的SQL操作; 使用表的組成部分而不是整個表; 保護(hù)數(shù)據(jù); 更改數(shù)據(jù)格式和表示; 在視圖創(chuàng)建之后,可以用與表基本相同的方式利用它們。 但對于大量的復(fù)雜或嵌套視圖,性能可能下降得很厲害。因此在部署相應(yīng)的應(yīng)用前,應(yīng)進(jìn)行充分的測試。 二、使用視圖的規(guī)則和限制 與表一樣,視圖必須唯一命名(不能給視圖取與別的視圖或表相同的名字); 對于可以創(chuàng)建的視圖數(shù)目沒有限制; 為了創(chuàng)建視圖,必須具有足夠的訪問權(quán)限; 視圖可嵌套; ORDER BY可以用在視圖中; 視圖不能索引,也不能有關(guān)聯(lián)的觸發(fā)器或默認(rèn)值; 視圖可以和表一起使用; 三、使用視圖 1、創(chuàng)建視圖 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、查看創(chuàng)建視圖的語句 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、更新視圖結(jié)構(gòu) 可以先將視圖DROP,再使用CREATE語句創(chuàng)建; 也可以直接使用CREATE OR REPLACE VIEW語句; 四、更新視圖數(shù)據(jù) 通常,視圖是可更新的(即,可以對它們使用INSERT、UPDATE和DELETE)。更新一個視圖將更新其基表。如果對視圖增加或刪除行,實際上是對其基表增加或刪除行。 但是,并非所有視圖都是可更新的。如果視圖定義中有以下操作,則不能進(jìn)行視圖的更新: 分組(使用GROUP BY和HAVING); 聯(lián)結(jié); 子查詢; 并; 聚焦函數(shù); DISTINCT; 導(dǎo)出(計算)列; 一般,應(yīng)該將視圖用于檢索而不用于更新。轉(zhuǎn)載于:https://www.cnblogs.com/csshaw/p/3719067.html
總結(jié)
以上是生活随笔為你收集整理的【转】MYSQL入门学习之十:视图的基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手女生个性签名大全
- 下一篇: 焦虑:小姑娘初潮来了,医生说只能长到15