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 连带上层嵌套视图条件一起校验。
相关推荐
Elastic 中国社区官方博客5 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
东风破_6 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
小成很成6 小时前
mysql 8.0.21 升级 mysql 8.0.45(经过生产环境验证)
android·mysql·adb
东风破_6 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql
保定公民7 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol7 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白8 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
云计算DevOps-韩老师9 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
DBA大董9 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine