11.MySQL视图特性

目录

视图

视图是一个虚拟表, 其内容有查询定义. 同真实的表一样, 视图包含一系列带有名称的列和行数据. 视图的数据变化会影响到基表, 基表的数据变化也会影响到视图, 这个视图和刚刚讲的ReadView之间没有任何关系.

基本使用

创建视图:
create view 视图名 as select语句;

查询每个人的部门和部门名:



如果未来想高频的拿到部门名和这个人的名字, 怎么做?

如果每次都这样查询, 就太麻烦了, 效率也不高, 解决方案: 我们可以将刚刚查出来的表当做一张视图

好处就是要高频访问一些数据的时候, 就不用在多表查询了, 以视图的方式放到这, 就可以查视图了.
如果修改视图是否会影响到原始表呢?

同理, 改视图也会影响到原始表.

删除视图
drop view 视图名;

视图规则和限制

  • 与表一样, 必须唯一命名(不能出现同名视图或表名)
  • 视图不能添加索引, 也不能有关联的触发器或者默认值
  • 视图可以提高安全性, 必须具有足够的访问权限
  • order by可以用在视图中, 但是如果从该视图检索数据select中也含有order by排序, 那么该视图中的order by将被覆盖.
  • 视图可以和表一起复合查询使用.
相关推荐
Irissgwe16 分钟前
redis之常见数据类型
数据库·redis·缓存
2301_7735536219 分钟前
CSS如何对用户访问过的链接进行降级颜色处理_使用-visited伪类改变颜色
jvm·数据库·python
2301_8152795226 分钟前
Golang怎么理解Go的sync.Pool底层_Golang如何理解Pool的本地缓存和GC清理机制【详解】
jvm·数据库·python
2301_7641505626 分钟前
MySQL迁移过程如何避免数据不一致_利用强一致性备份方案
jvm·数据库·python
m0_7164300730 分钟前
Redis如何处理预热失效引起的开局雪崩
jvm·数据库·python
m0_3776182332 分钟前
c++文件锁使用方法 c++如何实现多进程文件同步
jvm·数据库·python
gmaajt37 分钟前
mysql多字段搜索如何设计组合索引_mysql索引查询加速
jvm·数据库·python
2301_7775993737 分钟前
MySQL如何快速排查慢查询安全隐患_分析slow_query_log进行优化
jvm·数据库·python
m0_7478545240 分钟前
如何检测受保护链接(如 Twitter)的可访问性
jvm·数据库·python
baidu_3409988241 分钟前
宝塔面板如何设置网站访问密码_配置Nginx认证保护目录
jvm·数据库·python