Chinaunix首页 | 论坛 | 博客
  • 博客访问: 322748
  • 博文数量: 72
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 748
  • 用 户 组: 普通用户
  • 注册时间: 2018-09-21 18:49
文章分类

全部博文(72)

我的朋友

分类: Mysql/postgreSQL

2018-12-12 18:46:29

什么是视图
数据库视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句

特性

视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);

作用

方便操作,特别是查询操作,减少频繁使用的复杂的SQL语句,增强可读性;

更加安全,数据库授权命令不能限定到特定行和特定列,但是通过合理创建视图,可以把权限限定到行列级别;
应用

权限控制的时候,不希望用户访问表中某些含敏感信息的列

关键信息来源于多个复杂关联表,可以创建视图提取我们需要的信息,简化操作;

用法
  • 定义视图,建议以v_开头
     create view 视图名称 as select语句;
  • 查看视图:查看表会将所有的视图也列出来
    show tables; 
  • 删除视图
    drop view 视图名称; 使用:视图的用途就是查询
    select * from 视图名称


.视图的优缺点
1   数据库视图的优点:
    (1 )数据库视图允许简化复杂查询:
    (2)  数据库视图有助于限制对特定用户的数据访问。
     (3) 数据库视图提供额外的安全层
      (4)数据库视图启用计算列
      (5)  数据库视图实现向后兼容
2  数据库视图的缺点
  • 性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的。
  • 表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图


查看表students和表classes自关联后的信息

创建视图后,直接查看视图,就可以得到两个表自关联后的信息


阅读(2017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~