视图相对于普通的表的优势有以下几点: 1、简单:使用视图的用户完全不需要关心后面对应的表结构、关联条件和筛选条件,对用户来说视图已经过滤好复合条件的结果集 2、安全:使用视图的用户只恩呢该访问他们被允许查询的结果集,对表的权限管理并不能限制多
视图相对于普通的表的优势有以下几点:
1、简单:使用视图的用户完全不需要关心后面对应的表结构、关联条件和筛选条件,对用户来说视图已经过滤好复合条件的结果集
2、安全:使用视图的用户只恩呢该访问他们被允许查询的结果集,对表的权限管理并不能限制多某个行某个列,但是通过视图可以简单的实现
3、数据独立:一旦视图的结构定义了,可以屏蔽表的结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则只用通修改视图定义来适应变化,不会对访问者造成影响。
The view definition is “frozen” at creation time, so changes to the
underlying tables afterward do not affect the view definition. For
example, if a view is defined as SELECT * on a table, new columns added
to the table later do not become part of the view.
这点挺重要的,就是视图定义是会冻结的,比如我们使用select *来创建视图后,然后在通过alter table 添加字段后,这个后续添加的字段不会体现在原来视图上。
88red生成htm静态页面企业建站系统V3.0经过精心打造正式推出,集合了网站地图、企业新闻中心、企业产品、搜索、客户留言、下载、投票系统等等功能,基本涵盖了一个企业网站所需要的基本功能。其生成静态页面的功能为广大企业网站优化搜索引擎SEO,提供了最大的帮助。系统设计了新的美工,更加贴近企业网站效果。
0
mysql> create view v_tchar as select * from tchar;
经过查询information_schema中的views发现,通过select *来定义的视图,会被转换成如下:
mysql> select * from views \G
*************************** 1. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: liufofu
TABLE_NAME: v_tchar
VIEW_DEFINITION: select `liufofu`.`tchar`.`t1` AS `t1`,`liufofu`.`tchar`.`t2` AS `t2`,`liufofu`.`tchar`.`t3` AS `t3`,`liufofu`.`tchar`.`t4` AS `t4` from `liufofu`.`tchar`
CHECK_OPTION: NONE
IS_UPDATABLE: YES
DEFINER: root@localhost
SECURITY_TYPE: DEFINER
CHARACTER_SET_CLIENT: latin1
COLLATION_CONNECTION: latin1_swedish_ci
1 row in set (0.01 sec)
所以后续添加的字段不会体现在原定义的视图上。
原文地址:mysql5.0.1提供视图功能其优势, 感谢原作者分享。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号