数据库的视图(View)
数据库的视图(View)
-》视图是基于 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 视图名; #查询视图数据
更多推荐




所有评论(0)