MySQL学习笔记(9):视图

视图与表的区别及应用
本文详细介绍了数据库中视图的概念,包括其定义、应用场景、优点及规则限制。对比了视图与表在使用方式、占用空间及操作上的区别,帮助读者理解视图在数据管理和查询中的作用。

一、视图介绍

(1)定义

一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。

(2)应用场景

  1. 多个地方用到同样的查询结果。
  2. 该查询结果使用的sql语句较复杂。

(3)使用视图的优点

  1. 重用sql语句
  2. 简化复杂的sql操作,不必知道它的查询细节
  3. 保护数据,提高安全性。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。
  4. 使用表的一部分而不是整个表。

(4)视图仅仅是用来查看存储在别处的数据的一种措施

  1. 视图本身不包含数据,因此它返回的数据是从其他表中检索出来的。在添加或改变这些表中的数据时,视图将返回改变后的数据。

  2. 性能问题:因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需的任一个检索。若创建了过于复杂的视图,可能会导致性能严重下降。

(5)视图的规则和限制

  1. 与表一样,视图必须唯一命名。(不能取与别的视图或表相同的名字)

  2. 视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图

  3. 为了创建视图,必须有足够的访问权限。

二、视图的使用

1.视图的使用

(1)创建视图

CREATE VIEW  视图名
	AS
	查询语句;

(2)查看视图的数据

SELECT * FROM 视图名;
SELECT * FROM 视图名 WHERE last_name='Partners';

(3)修改视图

方式一:
CREATE OR REPLACE VIEW 视图名             //若视图存在就修改,若不存在就创建
AS
查询语句;
	
方式二:
ALTER VIEW test_v7
AS
查询语句;

(4)删除视图

DROP VIEW 视图名1,视图名2...;   //被删除的视图需要有删除权限

(5)查看视图

SHOW CREATE VIEW 视图名;

(6)视图的更新(修改视图中的数据)

**注:**具备以下特点的视图不能更新

  1. 包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all。
  2. 常量视图
  3. Select中包含子查询
  4. join
  5. from一个不能更新的视图
  6. where子句的子查询引用了from子句中的表

三、视图与表的对比

使用方式(创建、删除等)是否占用屋里空间使用
视图完全相同不占用,仅仅保存的是sql逻辑增删改查(一般不能增删改)
完全相同占用,保存了数据增删改查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值