本文共 906 字,大约阅读时间需要 3 分钟。
使用视图
视图就是一张虚拟的表,他是select语句执行的结果集。视图只能用于查询,不能用于增删改
在应用和数据库之间,比如当我们要更改底层表结构的时候,上层应用的执行sql语句也必须得更改,所以我们创建视图,通过视图指向数据库,应用指向试图,所以我们是不用去更改上层应用的SQL语句的。
为什么使用视图
- 重用SQL语句。
- 重构数据库时不影响程序的运行
- 简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。
- 使用表的组成部分而不是整个表。
- 保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。
- 更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。
视图的规则和限制
- 与表一样,视图必须唯一命名(不能给视图取与别的视图或表相同的名字)。
- 对于可以创建的视图数目没有限制。
- 为了创建视图,必须具有足够的访问权限。这些限制通常由数据库管理人员授予。
- 视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图。
- ORDER BY可以用在视图中,但如果从该视图检索数据SELECT中也含有ORDER BY,那么该视图中的ORDER BY将被覆盖。
- 视图不能索引,也不能有关联的触发器或默认值。
- 视图可以和表一起使用。例如,编写一条联结表和视图的SELECT语句。
使用视图
- 视图用CREATE VIEW语句来创建。
- 使用SHOW CREATE VIEW viewname;来查看创建视图的语句。
- 可以通过show tables;查看视图
- 用DROP删除视图,其语法为DROP VIEW viewname;。
- 更新视图时,可以先用DROP再用CREATE,也可以直接用CREATE ORREPLACE VIEW。
这个查询语句我们如何通过视图完成:
- 创建视图
- 检索订购了产品TNT2的客户: 执行结果是相同的。通过WHERE子句从视图中检索特定数据。 视图不是备份了一次,而是每次使用的时候就会执行as后面的select语句,是动态的
用视图重新格式化检索出的数据
用视图过滤不想要的数据
使用视图与计算字段
视图也是可以更新的,但是不常用。主要用于检索数据。
转载地址:http://nyxli.baihongyu.com/