您好,欢迎访问一九零五行业门户网

MYSQL入门学习之十:视图的基本操作_MySQL

bitscn.com
mysql入门学习之十:视图的基本操作
相关链接:
mysql入门学习之一:基本操作
http:///database/201212/173868.html
mysql入门学习之二:使用正则表达式搜索
http:///database/201212/173869.html
mysql入门学习之三:全文本搜索
http:///database/201212/173873.html
mysql入门学习之四:mysql的数据类型
http:///database/201212/175536.html
mysql入门学习之五:mysql的字符集
http:///database/201212/175541.html
mysql入门学习之六:mysql的运算符
http:///database/201212/175862.html
mysql入门学习之七:mysql常用函数
http:///database/201212/175864.html
mysql入门学习之八:数据库及表的基本操作
http:///database/201212/175867.html
mysql入门学习之九:索引的简单操作
http:///database/201212/176772.html
一、视图的基本介绍    
        视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
        使用视图需要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必知必会》
bitscn.com
其它类似信息

推荐信息