-》视图是基于 SQL 语句结果集的可视化的表,是一张虚拟表

-》视图中的行和列数据来自一到多张物理表,也可以来源自其他视图

-》数据库中只存放视图对应的sql语句,并不存放视图中的数据

-》简单的说:从已经存在的表中,挑选一部分字段或数据,组成一张虚表

-》视图中用户可以使用SELECT查询数据,以及使用INSERT、UPDATE和DELETE修改记录

-》对于视图来说,这些已经存在的表就被称为”基表”,当对通过视图看到的数据进行修改时,相应的基本表数据也要发生变化。同时,若基本表数据发生变化,这个变化也自动地反映到视图中

-》视图是一种”虚表”,不能与已经存在的表重名

创建视图

-》方式1:CREATE VIEW 视图名 AS 查询语句;  

-》方式2:CREATE OR REPLACE VIEW  视图名 AS 查询语句;  

#判断视图是否存在,不存在就创建,存在就修改

实例1:学生表中年龄大于15的生成一个视图,然后查询视图数据

create view view1

AS

select * from student where age>15;    #创建视图

select * from view1;    #查询视图数据

修改视图

-》方式1:ALTER VIEW 视图名 查询语句;

-》方式2:CREATE OR REPLACE VIEW 视图名 AS 查询语句;

#判断视图是否存在,不存在就创建,存在就修改

实例1:将视图修改为学生表年龄大于10的数据

alter view view1

AS

select * from student where age>10;

实例2:通过视图向student表中添加一条新数据

create or replace view view1

AS

Insert into student values (25, '苏晓', 16, '98');

#在视图中添加数据,数据会被添加到原数据表

实例3:通过视图将年龄为16的数据修改为15

create or replace view view1 

AS

update student set age = 15 where age = 16;

#修改视图数据,也会修改到原数据表中的数据

 删除视图

-》DROP VIEW 视图名1,视图名...;    #可同时删除多个视图

-》DROP VIEW IF EXISTS VU_STUDENT;  #先判断视图是否存在,存在则删除(防止删除不存在的视图而报错)

查看视图

-》DESC 视图名;  #查看视图的结构

-》SHOW CREATE VIEW 视图名;  #查看创建视图的逻辑

-》SELECT 表字段 FROM 视图名;  #查询视图数据

Logo

一站式 AI 云服务平台

更多推荐