视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
视图:
重用SQL语句;
简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询节;
使用表的组成部分而不是整个表。
保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。
更改数据结构格式和表示。视图可返回与底层表的表示与格式不同的数据。
视图的常见规程:
与表一样,视图名字必须唯一。
对于可以创建的视图数目没有限制。
为了创建视图,必须具有足够的访问权限。这些限制通常是由数据库管理人员授予。
视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图。
ORder by可以用在视图中,但如果该视图检索数据SELECT中也含有oeder by,那么该视图中order by将被覆盖。
视图不能索引,也不能有关联的触发器或默认值。
视图可以和表唯一使用。
视图使用:
视图使用create view语句来创建;
使用show create view viewname;来查看创建视图的语句;
使用drop来删除视图;其语法为drop view viewname;
更新视图时,可以先使用drop再用create,也可以直接使用create or replace view。
视图中不可以使用如下操作:
分组(group by和having);
联结;
子查询;
并;
聚集函数;
distinct;
导出列;