
一、什么是视图视图VIEW是虚拟表本身不存储真实数据本质是一条封装好的SELECT查询语句访问视图时动态从原始数据表中查询数据。数据表是真实存储数据的实体视图只是查询映射。二、视图 和 数据表【增、删、改、创建】对比1. 创建语法对比数据表TABLECREATE TABLE 表名(字段1 类型 约束,字段2 类型 约束);在磁盘创建物理存储结构分配存储空间持久保存数据。视图VIEWCREATE VIEW 视图名 ASSELECT 列 FROM 原始表 WHERE 条件;仅保存查询SQL不保存数据无独立存储空间。2. 更新UPDATE对比数据表UPDATE 表 SET 字段值 WHERE 条件;不受额外限制满足条件即可直接修改原始数据。视图UPDATE 视图 SET 字段值 WHERE 条件;限制条件1. 简单视图单表、无聚合函数、无DISTINCT、无GROUP BY、无UNION才支持更新2. 更新视图本质最终修改底层原始表的数据3. 复杂视图禁止更新。3. 新增INSERT对比数据表INSERT INTO 表(字段) VALUES(数据)遵循字段约束、主键、非空规则即可插入。视图INSERT INTO 视图(字段) VALUES(数据)同样仅简单视图支持插入插入的数据最终写入底层数据表如果视图没有包含底层表非空且无默认值的字段插入失败。4. 删除DROP / DELETE区分注意两个删除语句含义不同1删除数据 DELETE数据表 DELETE FROM 表 WHERE 条件;视图简单视图 DELETE FROM 视图 WHERE 条件;作用删除记录行视图删除数据依然作用于原始表。2删除结构 DROP删除数据表销毁实体数据DROP TABLE 表名;数据表连同存储的全部数据一起永久删除。删除视图仅销毁查询定义原始表数据不受影响DROP VIEW 视图名;只删除视图本身底层数据表、表里的数据完整保留。三、视图优缺点优点1. 简化复杂查询封装多表联查SQL2. 权限隔离只开放视图给用户隐藏原始表敏感字段3. 统一数据展示口径多处使用相同查询不用重复写SQL。缺点1. 性能弱查询视图等价执行子查询无法优化时效率偏低2. 更新限制多复杂视图不能增删改3. 增加问题排查难度不清楚底层表结构容易出现异常。四、核心总结表格操作 数据TABLE 视图VIEW本质 物理实体存储真实数据 虚拟表仅存储SELECT语句CREATE 新建物理存储占用磁盘 仅保存查询逻辑不存数据INSERT 基本不受额外限制 仅简单视图支持数据写入基表UPDATE 可直接修改数据 仅简单视图支持修改同步基表DELETE 删除表里记录 简单视图可执行删除基表记录DROP 删除表全部存储数据 只删除视图定义基表完好无损