zoukankan      html  css  js  c++  java
  • 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;
            导出(计算)列;
            一般,应该将视图用于检索而不用于更新。
     
     
  • 相关阅读:
    ie 中window.open无法带referrer
    es6 学习7 Set 和 Map 数据结构
    ES6 学习6 数组的扩展
    ES6 学习3 函数
    ES6学习之环境配置
    理解闭包
    javascript中实现继承的几种方式
    js 原型和原型链
    Vue学习之v-if与v-show的区别
    unity图集切成多张图片的方法
  • 原文地址:https://www.cnblogs.com/zywf/p/4946073.html
Copyright © 2011-2022 走看看