11.MySQL视图特性

目录

视图

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

基本使用

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

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



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

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

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

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

删除视图
drop view 视图名;

视图规则和限制

  • 与表一样, 必须唯一命名(不能出现同名视图或表名)
  • 视图不能添加索引, 也不能有关联的触发器或者默认值
  • 视图可以提高安全性, 必须具有足够的访问权限
  • order by可以用在视图中, 但是如果从该视图检索数据select中也含有order by排序, 那么该视图中的order by将被覆盖.
  • 视图可以和表一起复合查询使用.
相关推荐
IT项目管理27 分钟前
达梦数据库DMHS介绍及安装部署
linux·数据库
你都会上树?34 分钟前
MySQL MVCC 详解
数据库·mysql
大春儿的试验田40 分钟前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
Ein hübscher Kerl.1 小时前
虚拟机上安装 MariaDB 及依赖包
数据库·mariadb
长征coder1 小时前
AWS MySQL 读写分离配置指南
mysql·云计算·aws
醇醛酸醚酮酯2 小时前
Qt项目锻炼——TODO清单(二)
开发语言·数据库·qt
ladymorgana2 小时前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
PanZonghui2 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
GreatSQL社区2 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根2 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql