一个视图是一个或一组SQL语句,存储在数据库中相关的名称,一个视图实际上是一个预定义的SQL查询中的表的形式组成。
一个视图可以包含一个表的所有行,或选择表中的行,从一个或多个表上写SQL查询创建一个视图,视图可以被创建。
这是一种虚拟表的视图,允许用户执行以下操作:
1:发现自然或直观的用户或用户类的结构数据的形式
2:限制访问的数据,例如,用户可以看到和修改正是他们所需要的并没有更多
3:总结从可以用于生成报告的各种表的数据
创建视图:
使用create view语句创建数据库视图,从一个单一的表,多个表,或另一个视图也可以再创建视图,要创建一个视图,用户根据具体的实施必须有相应的系统权限。
基本的create view语法如下:
create view view_name as
select column1,column2......
from table_name
where condition;
在使用过程中正常的SQL select查询,可以包含多个表的select语句中的方式非常相似。
性能问题
因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需的任一检索。如果你用多个连接和过滤创建了复杂的视图或者嵌套了视图,可能会发现性能下降的厉害,因此,在部署使用了大量视图的应用前,应该进行测试。
视图用create view语句创建
使用show create view viewname;来查看创建视图的语句。
用drop删除视图,其语法是drop view viewname
更新视图时,可以先用drop再用create,也可以直接用create or replace view。
视图是可更新的,即可以对它们使用insert,update和delete,但并非所有的视图都是可更新的,有局限性。