视图(view)

1.视图是什么

视图是一张"虚拟表",视图本身不存储数据,而是通过执行查询来动态生成数据。视图本身并不占用物理存储空间,它只是一个查询的逻辑表示,它依赖于基础表中的数据。并且用户可以对视图进行更新,对视图更新也会同步更新原表

2.为什么要使用视图

1.简化复杂SQL,少写重复代码

2.隐藏敏感字段,更安全

3.统一查询逻辑,避免出错

3.创建视图

视图没有在硬盘上创建B+树。而是记录下来视图对应的SQL是什么

查询视图的执行过程:

先自动执行视图对应的SQL,得到视图的结果,然后再基于视图的查询结果进行查询

修改原表也会修改视图,修改视图也会修改原表

不能修改的视图

创建时使用聚合函数的视图

创建时使用group by或having的视图

创建时使用distinct的视图

创建时使用union 或union all的视图

查询列表中使用子查询

再from子句中引用不可更新视图

4.删除视图

相关推荐
晚风叙码36 分钟前
MySQL 表的约束详解:从空属性到外键
android·数据库·mysql·adb
IT古董9 小时前
《FDE前沿部署工程师实战教程》33 - Enterprise AI Observability:从Agent Trace到全链路智能运维
数据库·人工智能
for_ever_love__9 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
Nturmoils13 小时前
GROUP BY 先别想当然,查汇总前把规则跑清楚
数据库
最笨的羊羊13 小时前
Oceanbase数据库系列之:向量数据库核心知识
数据库·oceanbase
fish_xk13 小时前
mysql中的表的约束
数据库·mysql
谢亮_vipxieliang13 小时前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
ggaofeng15 小时前
自己编写邮件服务器和客户端
数据库
java1234_小锋15 小时前
【技术专题】Mysql8 数据库 - Mysql8 添加,更新,删除数据
数据库·mysql
PaperData15 小时前
2015-2024年各省绿色贸易数据
数据库