【MySQL基础篇】十二、视图的概念与操作

文章目录

Ⅰ. 视图的概念

​ 在 MySQL 中,"视图"是一种 虚拟表,它是基于一个或多个数据库表的查询结果。视图 并不实际存储数据,而是存储了一个查询的定义(即 select 语句),每当查询视图时,实际的数据都是从基础表中获取的。

​ 创建视图的主要目的是简化复杂的查询操作和隐藏基础表的结构,从而提供更简洁、易于理解的数据接口。通过使用视图,可以将复杂的查询逻辑抽象为一个命名的实体,使得查询和数据操作更加方便和有效。

​ 同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图

Ⅱ. 视图的操作

1、创建视图

sql 复制代码
create view 视图名 as 
	select语句;

2、删除视图

sql 复制代码
drop view 视图名;

3、查看视图

sql 复制代码
select 列名 from 视图名 [order by ...];

案例

sql 复制代码
-- 根据之前的雇员表创建视图
mysql> create view my_view as select ename, dname from emp inner join dept on emp.deptno<=>dept.deptno;
Query OK, 0 rows affected (0.00 sec)

-- 可以看到多了一张my_view表结构
mysql> show tables;
+-----------------+
| Tables_in_scott |
+-----------------+
| dept            |
| emp             |
| my_view         |
| salgrade        |
+-----------------+
4 rows in set (0.00 sec)

-- 查看my_view表结构
mysql> select * from my_view;
+--------+------------+
| ename  | dname      |
+--------+------------+
| SMITH  | RESEARCH   |
| ALLEN  | SALES      |
| WARD   | SALES      |
| JONES  | RESEARCH   |
| MARTIN | SALES      |
| BLAKE  | SALES      |
| CLARK  | ACCOUNTING |
| SCOTT  | RESEARCH   |
| KING   | ACCOUNTING |
| TURNER | SALES      |
| ADAMS  | RESEARCH   |
| JAMES  | SALES      |
| FORD   | RESEARCH   |
| MILLER | ACCOUNTING |
+--------+------------+
14 rows in set (0.00 sec)

💥注意事项

  • 与表一样,视图必须唯一命名(不能出现同名视图或表名)
  • 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
  • 视图不能添加索引,也不能有关联的触发器或者默认值
  • 视图可以提高安全性,必须具有足够的访问权限
  • order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么 该视图中的 order by 将被覆盖
  • 视图可以和表一起使用
  • 视图的数据变化会影响到基表,基表的数据变化也会影响到视图

实战OJ

相关推荐
雨晨源码(同名B站)8 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
DBA小马哥9 小时前
向量数据库入门到进阶:Embedding、ANN算法与RAG落地的关键术语
数据库·算法·embedding
云和数据.ChenGuang9 小时前
fastapi项目拆分实战数据模型
java·服务器·数据库·人工智能·深度学习·fastapi·强化学习
祈禾9 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
东方护航数据恢复(深圳)9 小时前
MySQL_Oracle数据库崩溃修复全攻略_东方护航数据恢复深圳店
数据库·mysql·oracle
y = xⁿ9 小时前
一文掌握Redis常见八股
数据库·redis·缓存
Cloud云卷云舒10 小时前
HaishanDB(海山)|磐维数据库|YashanDB(崖山)深度对比分析
数据库·人工智能·海山数据库·haishandb·移动云海山数据库
weixin_4604435610 小时前
企业考试系统如何对接OA、钉钉和企业微信?SSO单点登录、组织同步与权限一致性设计
java·开发语言·数据库
xywww16810 小时前
真实后台页实测:Opus 5 看图写前端的可用边界在哪
linux·服务器·前端·数据库·人工智能·gpt
上海云盾商务经理杨杨11 小时前
SQL 盲注入渗透实战!无报错页面也能成功注入
数据库·sql