11.MySQL视图特性

目录

视图

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

基本使用

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

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



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

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

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

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

删除视图
drop view 视图名;

视图规则和限制

  • 与表一样, 必须唯一命名(不能出现同名视图或表名)
  • 视图不能添加索引, 也不能有关联的触发器或者默认值
  • 视图可以提高安全性, 必须具有足够的访问权限
  • order by可以用在视图中, 但是如果从该视图检索数据select中也含有order by排序, 那么该视图中的order by将被覆盖.
  • 视图可以和表一起复合查询使用.
相关推荐
devmoon1 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛1 小时前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员1 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
·云扬·2 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql
用户982863025682 小时前
pg内核实现细节
数据库
码界筑梦坊2 小时前
330-基于Python的社交媒体舆情监控系统
python·mysql·信息可视化·数据分析·django·毕业设计·echarts
飞升不如收破烂~3 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
workflower3 小时前
业务需求-假设场景
java·数据库·测试用例·集成测试·需求分析·模块测试·软件需求
亓才孓3 小时前
[JDBC]基于三层架构和MVC架构的JDBCTools
数据库
IT邦德3 小时前
RPM包快速安装Oracle26ai
数据库·oracle