MySQL之视图

什么是视图

视图(View)本质上是一条被保存下来的 SELECT 查询语句。

本身不存储真实数据,没有物理磁盘文件,访问视图时会自动执行内部 SQL 并返回查询结果。视图依托原数据表生成,原表数据发生变化,查询视图拿到的数据同步变更。

视图创建成功后,使用者的使用方式和普通物理数据表完全一致,支持使用 SELECT 语句查询视图字段,无需重复编写多表联查、条件过滤、聚合统计等冗长 SQL,大幅简化日常查询工作。

视图尽量拿来用于查询!!!

创建视图

bash 复制代码
create view 视图名 as select 表达式

视图得存在大大得简化了日常查询工作

视图与原来表得关系

视图就是在原来的数据库里面有创建了一张表

视图得改变会影响原来的表

原来表发生变化也会影响视图的数据

删除视图

bash 复制代码
drop view 视图名;
分类 详细规则
创建规则 1. 定义语句禁止:SELECT INTO、临时表、FROM后嵌套子查询、LOAD DATA; 2. 库内视图名不能和数据表重名; 3. 视图列名必须唯一,重复字段需要手动起别名。
DML 增删改 1. 可增删改:单张基表来源,不含聚合、GROUP BY、DISTINCT、UNION、多表连接;基表非空无默认字段必须全部在视图中; 2. 不可增删改:多表联查、分组聚合、去重类视图; 3. CHECK OPTION:LOCAL 只校验当前视图 where 条件;CASCADED 连带上层嵌套视图条件一起校验。
相关推荐
SelectDB10 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶11 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵14 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils14 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
SamDeepThinking19 小时前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
李白客3 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence3 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将3 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils4 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库