【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 将被覆盖
**•**视图可以和表一起使用

相关推荐
朱友斌5 分钟前
【Golang笔记03】error、panic、fatal错误处理学习笔记
笔记·golang·error·panic·fatal·golang错误处理
Evenurs10 分钟前
【linux】mount命令中,data=writeback参数详细介绍
linux·运维·服务器
MyikJ22 分钟前
互联网大厂Java面试:从Spring到微服务的挑战
数据库·spring boot·微服务·saas·java面试·缓存技术
qq_2430507927 分钟前
Siege:开源的 HTTP/FTP 压力测试与基准评估工具!全参数详细教程!Kali Linux教程!
linux·网络·web安全·网络安全·黑客·压力测试·kali linux
车载诊断技术27 分钟前
基于物联网(IoT)的电动汽车(EVs)智能诊断
数据库·物联网·架构·汽车·电气电子架构开发的应对策略·车辆诊断技术全生命周期管理
冷冷清清中的风风火火31 分钟前
linux 通过命令将 MinIO 桶的权限设置为 Custom(自定义策略)
linux·服务器·ubuntu
echola_mendes37 分钟前
Mac安装MongoDB数据库以及MongoDB Compass可视化连接工具
数据库·mongodb
Elohim81539 分钟前
进程IO之 进程
linux·c语言
安替-AnTi1 小时前
基于python+Django+Mysql的校园二手交易市场
python·mysql·django
心想好事成1 小时前
尚硅谷redis7 47-48 redis事务之理论简介
java·数据库·redis