php視圖操作


一、視圖的基本介紹 
        視圖是虛擬的表。與包含數據的表不一樣,視圖只包含使用時動態檢索數據的查詢。
        使用視圖需要MySQL5及以后的版本支持。
        下面是視圖的一些常見應用:
        重用SQL語句;
        簡化復雜的SQL操作;
        使用表的組成部分而不是整個表;
        保護數據;
        更改數據格式和表示;
        在視圖創建之后,可以用與表基本相同的方式利用它們。
        但對於大量的復雜或嵌套視圖,性能可能下降得很厲害。因此在部署相應的應用前,應進行充分的測試。
二、使用視圖的規則和限制
        與表一樣,視圖必須唯一命名(不能給視圖取與別的視圖或表相同的名字);
        對於可以創建的視圖數目沒有限制;
        為了創建視圖,必須具有足夠的訪問權限;
        視圖可嵌套;
        ORDER BY可以用在視圖中;
        視圖不能索引,也不能有關聯的觸發器或默認值;
        視圖可以和表一起使用;
三、使用視圖
create view 視圖名  [(列名1,列名2,...)] as sql語句
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;
 
3、修改或更新視圖
    alter view 視圖名  [(列名1,列名2,...)] as sql語句
 
      可以先將視圖DROP,再使用CREATE語句創建;
        也可以直接使用CREATE OR REPLACE VIEW語句;
 
4、刪除視圖
        DROP VIEW viewname;
        示例:
        mysql> drop view v_pic_url;
 
四、更新視圖數據
        通常,視圖是可更新的(即,可以對它們使用INSERT、UPDATE和DELETE)。更新一個視圖將更新其基表。如果對視圖增加或刪除行,實際上是對其基表增加或刪除行。
        但是,並非所有視圖都是可更新的。如果視圖定義中有以下操作,則不能進行視圖的更新:
        分組(使用GROUP BY和HAVING);
        聯結;
        子查詢;
        並;
        聚焦函數;
        DISTINCT;
        導出(計算)列;
        一般,應該將視圖用於檢索而不用於更新。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM