目录
一、什么是视图
chat GPT的解释是:
数据库的视图是一个虚拟的表,它是基于一个或多个数据库表的查询结果。视图可以被视为一个存储在数据库中的预定义查询,它可以像表一样被查询、插入、更新和删除数据。
数据库之视图——从已经存在的表的全部字段或数据中,挑选出来一部分字段或数据,组成另一张”并不存在的表”,这张虚表被称之”视图”。视图中的字段与对应的数据均来自已经存在的表。对于视图来说,这些已经存在的表就被称为”基表”。基表可以是一张表,也可以是多张表。视图的本质可以理解为一条查询语句,视图中显示的结果,就是这条查询语句查询出的结果。
总结:
视图是一个虚拟表(逻辑表);
视图中的行和列的数据来自一到多张物理表,也可以来源自其他视图;
可以通过视图进行增删改查;
如果通过视图进行增删改,那么物理表的数据也会随之做出同样的增删改;反之亦然
视图是一种”虚表”,所以不能与已经存在的表重名。
二、如何创建视图
1.创建视图
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
2.语法解析
其中,view_name是你要创建的视图的名称,column1, column2, ...是你要在视图中包含的列名,table_name是你要从中获取数据的表名,condition是一个可选的筛选条件。
三、如何使用视图
在 一 中我们说了,视图就是一张虚表,你把他当做表即可。
SELECT * FROM view_name;
查询:你可以像查询表一样查询视图。例如,使用SELECT语句从视图中检索数据。
插入:你可以使用INSERT语句向视图中插入数据。但是,插入的数据必须符合视图的定义,即插入的数据必须满足视图定义中的筛选条件和列约束。
更新:你可以使用UPDATE语句更新视图中的数据。但是,更新的数据必须符合视图的定义,即更新的数据必须满足视图定义中的筛选条件和列约束。
删除:你可以使用DELETE语句从视图中删除数据。但是,删除的数据必须符合视图的定义,即删除的数据必须满足视图定义中的筛选条件和列约束。
另外,需要注意的是,视图只是一个虚拟的表,它不存储实际的数据。每当你对视图进行修改操作时,实际上是对底层表进行修改。因此,对视图的修改操作可能会影响到底层表的数据。