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

相关推荐
执 、22 分钟前
SpringBoot定时监控数据库状态
java·数据库·ide·spring boot·后端
不恋水的雨1 小时前
数据库char字段做trim之后查询很慢的解决方式
数据库·sql
guygg882 小时前
Linux中的阻塞信号与信号原理
linux·mysql·apache
眠りたいです3 小时前
MySQL基础与常用数据类型浅析
linux·数据库·mysql
唐可盐3 小时前
Oracle/MySQL/SqlServer/PostgreSQL等数据库的数据类型映射以及各版本数据类型情况说明
数据库·mysql·oracle
阑梦清川3 小时前
C#建立与数据库连接(版本问题的解决方案)踩坑总结
开发语言·数据库·c#
听风lighting4 小时前
1. C++ WebServer项目分享
linux·c语言·c++·设计模式·嵌入式·webserver
自由鬼4 小时前
Vitess 深度解析:一个云原生 MySQL 数据库扩展系统
数据库·mysql·云原生
chengf2234 小时前
WSL 安装使用和常用命令
linux
鸽子一号4 小时前
c#基础概念之进制
笔记