sql基础语法,视图

本文介绍了SQL中的视图概念,视图与表的关系,以及如何创建、查询、更新和删除视图。视图是基于多个表的查询结果,提供了一种简化数据访问的方式。创建视图时可以使用SELECT语句,但不能包含ORDER BY、HAVING或GROUP BY等影响数据顺序的子句。更新视图时受到限制,不能涉及导致数据不一致的操作。最后,演示了如何通过DROP VIEW语句删除视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01视图与表的关系
视图是存储在数据库中,查询sql时使用的语句。
一个视图中可以包含多个表,但是真正存储数据的是表。
视图与表的关系类似包裹和货物,真正有价值的是货物。

02视图的创建
**格式:create view 视图名(视图列名1,视图列名2)
as
select 语句

注意:这里的as和其他地方不一样,相当于视图和表之间 的桥梁,起调用表中存储数据作用。
例一创建ProductSummon视图

CREATE VIEW ProductSummon(product_type,cnt_product)
AS
SELECT product_type,COUNT(*)
FROM PRODUCT3
GROUP BY product_type

视图的调用
格式:
select 列名1,列名2,
from 表名

例二调用视图productsummon

SELECT product_type,cnt_product
FROM ProductSummon

在这里插入图片描述注意:视图里面可以包含多个select语句
在定义视图时可以使用多个select语句,如where,group by,having,但是不能使用order by。因为视图和表一样,数据行都是无序的
03多重视图的查询
多重视图的查询说白了,就是在一个视图的基础上建立另一个视图。
例三在productsummon的基础上建立productsumijm视图

CREATE TABLE ProductSumijm(product_type,cnt_product)
AS
SELECT product_type,COUNT(*)
FROM ProductSum
GROUP BY product_type

在这里插入图片描述
04视图的更新
说到视图更新,第一反应是使用inser into语句
例四向producting语句中添加电气制品,5

INSERT INTO ProductSumijm VALUES('电器制品',5)

在这里插入图片描述
这是因为在productSumjim中使用了汇总函数group by,至使数据前后不一致,无法同步更新。同样的不能使用having,因为having是建立在grouping的基础上的。distinct去重也会使前后数据不一致

只要是不使用使数据前后数据不一样的都可以进行更新

CREATE VIEW ProductJim(product_type,cnt_product)
AS
SELECT *
FROM ProductSum
WHERE product_type='办公用品'

05删除视图
格式:drop view 视图名称
例五删除视图productsum

DROP VIEW ProductSum
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值