MySQL视图

目录

一.视图

1.基本使用

2.视图规则和限制


一.视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

这个视图只是内存级的,并没有放到磁盘中。

原始表一般叫基表。

1.基本使用

创建视图:

create view 视图名 as select语句;

假设我们要经常使用select后面的那个表,就可以创建一个视图。

这时,就可以发现多了一个表hotdata,此时如果想要查看,直接看这个表就可以了。

直接用这个hotdata就可以查询信息了。

这里我们更改这个hotdata视图的数据,那么可以看到emp基表的数据也被跟着改了。

反过来也是一样的,更改emp基表的数据,hotdata视图的数据也是会被更改的。

删除视图:

drop view 视图名;

可以看到,这个视图没有了。

2.视图规则和限制

① 与表一样,必须唯一命名(不能出现同名视图或表名)

② 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响

③ 视图不能添加索引,也不能有关联的触发器或者默认值

④ 视图可以提高安全性,必须具有足够的访问权限

⑤ order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖

⑥ 视图可以和表一起使用

相关推荐
m0_748554815 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
早日退休!!!6 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
xcLeigh6 小时前
KES数据库性能优化实战
数据库·sql·性能优化·sql优化·数据性能
阿正呀6 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
yoyo_zzm6 小时前
Laravel9.x新特性全解析
数据库·mysql·nginx
2501_901200536 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
m0_495496417 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume8 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
2301_809204708 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
虹科网络安全8 小时前
艾体宝产品|深度解读 Redis 8.4 新增功能:原子化 Slot 迁移(上)
数据库·redis·bootstrap