MySQL数据库的视图

视图的定义

  • 视图的本质是一种虚拟表,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库以存储的数据值形式存在。行和列的数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态产生。
  • 视图特点:
  • 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。
  • 视图是由基本表(实表)产生的。
  • 视图的建立和删除不影响基本表。
  • 视图的修改会影响到基本表。
  • 当视图来自于多个基本表时,不允许添加和删除数据。

创建视图

基本语法

CREATE VIEW view_name
       AS 查询语句;

例:在t_prod表中,创建一个查看id,pname的视图
在这里插入图片描述

查看视图

  1. SHOW TABLES查看视图名:
SHOW TABLES;

在这里插入图片描述

  1. SHOW TABLE STATUS查看视图详细信息:
SHOW TABLE STATUS [FROM db_name] [like 'pattern'];

在这里插入图片描述
在这里插入图片描述

  1. SHOW CREATE VIEW语句查看视图定义信息:
SHOW CREATE VIEW view_name;

在这里插入图片描述

  1. DESC|DESCRIBE语句查看视图设计信息:
DESC|DESCRIBE view_name;

在这里插入图片描述

  1. 通过系统表查看视图信息:
USE information_schema;
SELECT * FROM company
       WHERE table_name='view_prod' \G

在这里插入图片描述

删除视图

DROP VIEW view_name;

在这里插入图片描述

修改视图

  1. CREATE OR REPLACE VIEW语句修改视图
CREATE OR REPLACE VIEW view_name 
                  AS 查询语句;

例:替换视图对象
在这里插入图片描述
在这里插入图片描述

  1. 通过ALTER语句修改视图
 ALTER VIEW view_name 
       AS 查询语句;

在这里插入图片描述

利用视图操作基本表

  1. 查询数据:
    基本语法:
SELECT * FROM view_name;
  1. 利用视图操作基本表数据:
  • 我们不仅可以对视图进行数据查询,我们还可以对视图进行更新(添加,删除,更新)数据操作。由于视图是虚表(也是表),所以对视图数据进行的更新操作,实际上是对其基本表进行更新操作。
  • 对视图的更新数据得注意以下两点:
  • 对视图数据进行添加、删除和修改操作直接影响基本表。
  • 视图来自多个基本表时,不允许添加或删除数据。

实验证明

  1. 添加数据操作
    在这里插入图片描述

  2. 删除数据操作
    在这里插入图片描述

  3. 更新数据操作
    在这里插入图片描述
    如果是两个表联合封装产生的视图就不能对其进行更新操作
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值