视图(View)

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

1. 基本使用

  1. 创建视图
sql 复制代码
create view 视图名 as select语句;
  1. 查询数据库有哪些视图
sql 复制代码
show tables;
  1. 删除视图(不影响基表)
sql 复制代码
drop view 视图名;

2. 视图的规则和限制

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

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

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

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

  • 视图中可以使用order by,但要注意的是如果创建视图(内部有order by) ,查询视图(外部有order by),那么内部order by将被覆盖,使用外部的order by。

  • 视图可以和表一起使用。

相关推荐
可乐ea4 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
余槐i4 小时前
MySQL 深分页从 4 秒到 60 毫秒:延迟关联减少回表的实测与代价
mysql·性能优化·sql优化·执行计划·慢查询优化
东方护航数据恢复(深圳)4 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk5 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录6 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
天衍四九-6 小时前
【无标题】
前端·spring boot·mysql·nginx·docker
Lysander.Jovian7 小时前
mysql数据库基本使用
mysql
红红谈说7 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)8 小时前
MySQL索引
数据库·mysql
fb_123458 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle