数据库之视图

一个视图是一个或一组SQL语句,存储在数据库中相关的名称,一个视图实际上是一个预定义的SQL查询中的表的形式组成。 
一个视图可以包含一个表的所有行,或选择表中的行,从一个或多个表上写SQL查询创建一个视图,视图可以被创建。

这是一种虚拟表的视图,允许用户执行以下操作: 

1:发现自然或直观的用户或用户类的结构数据的形式 

2:限制访问的数据,例如,用户可以看到和修改正是他们所需要的并没有更多

3:总结从可以用于生成报告的各种表的数据

4:视图不允许增删改操作 只可以查看

创建视图: 

使用create view语句创建数据库视图,从一个单一的表,多个表,或另一个视图也可以再创建视图,要创建一个视图,用户根据具体的实施必须有相应的系统权限。

基本的create view语法如下:

1,创建视图

--格式:CREATE VIEW 视图名称 AS  SQL语句
CREATE VIEW v1 AS 
SELET nid, 
    name
FROM
    A
WHERE
    nid > 4

2,删除视图

--格式:DROP VIEW 视图名称

DROP VIEW v1

3,修改视图

-- 格式:ALTER VIEW 视图名称 AS SQL语句

ALTER VIEW v1 AS
SELET A.nid,
    B. NAME
FROM
    A
LEFT JOIN B ON A.id = B.nid
LEFT JOIN C ON A.id = C.nid
WHERE
    A.id > 2
AND C.nid < 5

4,使用视图

select * from v1

5,使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。

在使用过程中正常的SQL select查询,可以包含多个表的select语句中的方式非常相似。

性能问题 
因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需的任一检索。如果你用多个连接和过滤创建了复杂的视图或者嵌套了视图,可能会发现性能下降的厉害,因此,在部署使用了大量视图的应用前,应该进行测试。

视图用create view语句创建 
使用show create view viewname;来查看创建视图的语句。 
用drop删除视图,其语法是drop view viewname 
更新视图时,可以先用drop再用create,也可以直接用create or replace view。

视图是可更新的,即可以对它们使用insert,update和delete,但并非所有的视图都是可更新的,有局限性。

 

重点请参考:https://www.cnblogs.com/xiaz/p/5324504.html

posted @ 2018-07-26 11:03  py-小白  阅读(288)  评论(0编辑  收藏  举报