news 2026/9/26 21:21:27

MySQL【视图】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL【视图】

在数据库学习中,我们经常会遇到一个概念:视图。其实,你可以简单地把视图理解为数据库里的“虚拟表”。其内容由查询定义 ,同真实的表一样 , 视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

一、概念解析

想象一下,你有一张巨大的Excel表格(真实的数据表),里面存着几百列数据。但是,你平时工作只需要看其中的5列,或者需要把两张表的信息拼在一起看。

视图就是帮你解决这个问题的。它本质上是一个“存储起来的查询语句”。当你查询视图时,数据库会在后台自动执行那个查询语句,然后把结果展示给你。

核心特点:

  • 虚拟表:视图不直接存储数据,它只是保存了一条SQL规则。

  • 动态性:只要底层的真实数据表变了,你查询视图时,结果也会自动跟着变。

  • 双向影响:视图的数据变化会影响基表(原始表),基表的数据变化也会影响视图。

二、基本使用

2.1 创建视图:CREATE VIEW

create view 视图名 as select查询语句;

2.2实战案例:

-- 创建一个视图,用来展示员工姓名和他所在的部门名称 CREATE VIEW myview AS SELECT ename, dname FROM EMP, DEPT WHERE EMP.deptno = DEPT.deptno;
  • CREATE VIEW v_ename_dname AS:这是创建视图的命令。v_ename_dname是我们给视图起的名字。AS后面就是我们定义的规则。

  • SELECT ename, dname:我们只关心员工的姓名和部门名称,所以只选这两列。

  • FROM EMP, DEPT:数据来自EMP(员工表)和DEPT(部门表)两张表。

  • WHERE EMP.deptno = DEPT.deptno:这是连接条件。因为两张表都有部门编号,通过这个条件,我们才能把“张三”正确地关联到“销售部”,而不是“技术部”。

  • 创建视图 , 创建"表"

  • 修改视图,对基表有影响

  • 修改了基表,对视图有影响

使用视图和使用普通表一模一样,都是用SELECT。

-- 查询我们刚刚创建的视图 SELECT * FROM myview; -- 也可以在视图中使用排序 SELECT * FROM myview ORDER BY dname;
  • 删除视图
drop view 视图名;

删除视图不会影响底层的EMP表和DEPT表的数据,它只是删除了这个“虚拟的规则”。

三、视图的规则和限制

规则/限制详细解释
1. 唯一命名视图在数据库中的名字必须是唯一的,不能和已有的表名或者其他视图名重复。
2. 性能影响创建视图本身没有限制,但如果你的视图是基于一个非常复杂的多表查询(比如连接10张表),那么查询这个视图也会很慢。因为每次查询视图,都要执行这个复杂的查询。
3. 索引限制视图不能添加索引,也不能有关联的触发器或默认值。想优化性能,必须去优化创建视图的那个SELECT语句。
4. 安全性视图可以隐藏敏感数据。比如,你可以创建一个视图,只显示员工的基本信息,而不显示工资列,然后把视图的权限给HR专员,而不是给整个表的权限。
5. ORDER BY 覆盖如果在定义视图时使用了ORDER BY,在查询视图时又使用了ORDER BY,那么查询时的ORDER BY会覆盖掉视图定义中的。建议: 不要在定义视图时使用ORDER BY,而应该在查询视图时按需排序。
6. 混合使用视图可以和表一起使用。你可以写一条SQL,JOIN一张表和另一个视图。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 9:41:23

DASD-4B-Thinking部署案例:国产昇腾910B适配vLLM的可行性验证与调优

DASD-4B-Thinking部署案例:国产昇腾910B适配vLLM的可行性验证与调优 1. 项目背景与模型介绍 DASD-4B-Thinking是一个专门为复杂推理任务设计的40亿参数语言模型,在数学计算、代码生成和科学推理等需要长链式思维的任务中表现出色。这个模型基于Qwen3-4…

作者头像 李华
网站建设 2026/8/23 9:41:25

Simulink 中光伏与同步发电机协同的奇妙之旅

simulink光伏并同步发电机,光伏减载,留出备用进行频率惯量支撑,减小对同步发电机的依赖。 频率支撑效果好,波形效果好,非一般仿真。 可以改变光强,温度以及减载率。嘿,各位技术小伙伴们&#xf…

作者头像 李华