数据库视图详解

SQL视图是基于查询结果的虚拟表,方便重复查询和简化复杂操作。创建视图使用CREATE VIEW语句,可选CREATE OR REPLACE进行修改。删除视图用DROP VIEW。视图更新受限于特定条件,如分组函数、子查询等。视图提供查询和数据修改功能,但不存储数据,更新会影响原始表。使用视图建议用于静态查询和保护数据。
摘要由CSDN通过智能技术生成

视图

视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。只保存SQL逻辑,不保存查询结果 。一般用于会在多个地方用到同样的查询结果,或者该查询结果使用的SQL语句较复杂。

创建视图

#方式一:
CREATE VIEW 视图名 AS 查询语句;

#方式二:这个视图没有就创建,有就修改
CREATE OR REPLACE VIEW 视图名
AS
查询语句;

示例一:

-- 创建视图实例1:将学⽣表中性别为男的学⽣⽣成⼀个视图
create view view_test1
AS
select * from students where stu_gender='男';
-- 查询视图
select * from view_test1;

示例二:

-- 创建视图实例1:将学⽣表中性别为男的学⽣⽣成⼀个视图
create view view_test1
AS
select * from students where stu_gender='男';
-- 查询视图
select * from view_test1;

修改视图

#方式一:这个视图没有就创建,有就修改
CREATE OR REPLACE VIEW 视图名
AS
查询语句;

#方式二:
ALTER VIEW 视图名
查询语句; 

删除视图

#可以连续删除多个视图
DROP VIEW 视图名1,视图名...;

查看视图

#查看视图的结构
DESC 视图名;
#查看创建视图的逻辑
SHOW CREATE VIEW 视图名;

视图更新

视图的增删改与表的语法一致;
具有一下任一特点的视图不允许更新:

  1. 创建视图的SQL语句中包含一下关键字:分组函数,DISTINEC,GROUP BY,HAVING,UNION ,UNION ALL;
  2. 创建视图的查询结果是连接查询的结果;
  3. FROM后是一个不可更新的视图;
  4. 常量视图;
  5. SELETE语句中包含子查询;
  6. WHERE 子句中的子查询引用了FROM后的表;

视图特性:

查询操作:如果在数据表中添加了新的数据,⽽且这个数据满⾜创建视图时查询语句的条
件,通过查询视图也可以查询出新增的数据;当删除原表中满⾜查询条件的数据时,也会从视图中删除。
新增数据:如果在视图中添加数据,数据会被添加到原数据表。
删除数据:如果从视图删除数据,数据也将从原表中删除。
修改操作:如果修改视图数据,也会修改原数据表中的数据。

视图的使⽤建议 : 对复杂查询简化操作,并且不会对数据进⾏修改的情况下可以使⽤视图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值