【MySQL】08.视图

**视图就是一个由查询到的内容定义的虚拟表。**它和真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

1. 基本使用

sql 复制代码
mysql> select * from user;
+----+-----+-----------+
| id | age | name      |
+----+-----+-----------+
|  1 |  56 | 欧阳锋    |
|  2 |  26 | 黄蓉      |
|  3 |  18 | 杨过      |
|  4 |  16 | 小龙女    |
|  5 |  36 | 郭靖      |
+----+-----+-----------+
5 rows in set (0.00 sec)

-- 创建视图
mysql> create view myview as select id,name from user;
Query OK, 0 rows affected (0.01 sec)

mysql> select * from myview;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | 欧阳锋    |
|  2 | 黄蓉      |
|  3 | 杨过      |
|  4 | 小龙女    |
|  5 | 郭靖      |
+----+-----------+
5 rows in set (0.00 sec)

-- 更改视图
mysql> update myview set name = 'aaa' where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from myview;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | aaa       |
|  2 | 黄蓉      |
|  3 | 杨过      |
|  4 | 小龙女    |
|  5 | 郭靖      |
+----+-----------+
5 rows in set (0.00 sec)

mysql> select * from user;
+----+-----+-----------+
| id | age | name      |
+----+-----+-----------+
|  1 |  56 | aaa       |
|  2 |  26 | 黄蓉      |
|  3 |  18 | 杨过      |
|  4 |  16 | 小龙女    |
|  5 |  36 | 郭靖      |
+----+-----+-----------+
5 rows in set (0.00 sec)

-- 删除视图
mysql> drop view myview;
Query OK, 0 rows affected (0.01 sec)

2. 视图的映射规则和限制

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

相关推荐
Java永无止境11 分钟前
延时任务之Redis 过期事件监听原理与缺陷
数据库·redis·缓存·延时任务
WPG大大通20 分钟前
从数据到模型:Label Studio 开源标注工具完整实施指南
经验分享·笔记·ai·系统架构·开源·大大通
讓丄帝愛伱29 分钟前
Arthas & JVM 性能排查
linux·jvm
Albert Edison29 分钟前
【MySQL】表的操作
数据库·mysql·oracle
欢喜躲在眉梢里29 分钟前
mysql中的日志
android·运维·数据库·mysql·adb·日志·mysql日志
java1234_小锋38 分钟前
Redis线上操作最佳实践有哪些?
数据库·redis·缓存
合作小小程序员小小店1 小时前
web开发,在线%校园,论坛,社交管理%系统,基于html,css,python,django,mysql
数据库·后端·mysql·django·web app
charlie1145141911 小时前
精读C++20设计模式——结构型设计模式:享元模式
c++·笔记·学习·设计模式·享元模式·c++20
EQ-雪梨蛋花汤1 小时前
【Unity笔记】Unity XR 模式下 Point Light 不生效的原因与解决方法
笔记·unity·xr
乌萨奇也要立志学C++1 小时前
【Linux】进程控制(一) 进程创建、终止与等待概念与实战讲解
linux·服务器