视图(View)

基本概念

视图是虚拟的表,不包含数据,其将有用的查询的结果包装成一个虚拟的表,方便之后的使用。
使用视图可以简化复杂的SQL操作,不需要访问整个表只需要访问特定部分,从而可以保护数据,可以给用户设定特定部分的访问权限

视图使用的规则

  • 创建的视图数目没有限制
  • 视图可以嵌套,与真实表的使用基本一致
  • order by可以使用在视图中,但如果从该视图检索数据的select中也含有order by,那么该视图中的order by 会被覆盖

使用视图

  • 创建视图
    create view view_name as select...
    创建名叫productcustomers的视图 ,它联结了三个表
create view productcustomers as
select cust_name,cust_contact,prod_id
from customers,orders,orderitems
where customers.cust_id =orders.cust_id
and orderitems.order_num=orders.order_num;
  • 使用视图查询
select cust_name,cust_contact 
from productcustomers
where prod_id='TNT2';
  • 更新视图
    视图是可更新的,和表一样,可以对其使用insert,update和delete。更新一个视图将更新其基表,对视图增加或删除行,实际上是对其基表增加或删除行。
    不是所有的视图都可以更新,如果视图定义中存在分组、联结、子查询、并、聚集函数、DISTINCT以及导出列等操作,则其不能更新。
    一般,我们将视图用于检索而不是更新。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容