MySQL数据视图 📅 2026/7/5 2:48:50 一、视图基础概念视图是从一个表或视图中导出的虚拟表视图是一个虚表自身不会存储任何真实业务数据数据库中只存储视图的定义。注:视图一经定义就可以像表一样被查询修改删除和更新。二、视图的创建查询更新插入数据修改数据删除数据删除操作对比1.创建操作数据表TABLE特点创建时分配独立物理磁盘存储空间可完整定义字段、主键、外键、索引、各类约束录入的数据会永久保存在磁盘独立存在。视图VIEW特点不占用物理存储仅记录查询逻辑无法自定义主键、索引、字段约束完全依赖底层数据表基表不存在则视图无法使用。2.查询操作数据表TABLE特点直接读取磁盘上存储的实体数据可搭配索引加速查询查询不受限制支持聚合、多表连接、子查询、分组等全部 SQL 语法可自由指定任意字段、自定义筛选、排序逻辑。视图VIEW特点查询视图等价于执行视图封装的底层 SELECT 语句再叠加本次查询条件视图本身无索引底层查询速度取决于基表索引仅能查询创建视图时预先定义好的字段无法访问基表未展示的隐藏字段简化查询书写无需重复写复杂联表、筛选语句。3.更新操作数据表TABLE完全支持增、删、改三类语句操作会直接修改磁盘中存储的原始数据修改永久生效所有引用这张表的视图查询结果会同步更新。视图VIEW更新存在严格限制仅单表、无聚合函数、无 DISTINCT 去重、无分组、无连接查询的简单视图才允许执行增删改对视图的数据操作底层最终仍是修改基表聚合视图、多表关联视图完全不支持更新。4.插入数据操作INSERT数据表TABLE特点无前置限制只要满足字段类型、主键、非空等表约束即可直接插入插入的数据直接写入磁盘永久保存插入完成后所有引用该表的视图查询会同步显示新增数据注数据表和视图的插入数据操作一致但存在严格限制视图VIEW限制条件全部满足才能插入视图仅来源于单张数据表无 JOIN 多表连接视图不含聚合函数、GROUP BY、DISTINCT 去重、UNION 合并基表所有非空、无默认值的字段必须在视图中暴露否则无法补全字段插入插入本质仍是向底层基表新增数据视图自身不能单独存储数据不满足以上条件的视图禁止执行 INSERT 插入操作。5.修改数据操作UPDATE数据表TABLE无额外限制直接修改磁盘原始数据修改永久生效所有引用该表的视图查询结果同步更新。视图VIEW限制条件同 INSERT仅限单表、无聚合、无分组、无去重的简单视图多表、聚合类视图不允许执行 UPDATE修改底层仍是改动基表原始数据。6.删除数据操作DELETE数据表TABLE可自由删除符合条件的数据行仅清除数据、保留表结构删除后所有关联视图不再展示已删数据。视图VIEW限制和 INSERT、UPDATE 统一仅简单单表视图支持聚合、联表视图禁止删除删除操作最终作用于底层基表。注6和7的删除操作一个是删除表和视图中的数据一个是删除整个视图和表7.删除操作数据表TABLE彻底销毁表结构、全部数据、索引、约束所有依赖该表的视图直接失效、无法使用视图VIEW仅删除视图的查询逻辑定义底层数据表、原始数据、索引完全不受影响。三、数据表与视图对比操作维度实体数据表 TABLE视图 VIEW存储形式物理磁盘存储占用独立空间虚拟逻辑仅存查询语句无数据存储创建功能可定义字段、主键、索引、各类约束仅封装 SELECT 查询无法设置索引与约束查询 SELECT全语法支持可借助索引提速全字段可见复用内置查询仅能读取预设字段无独立索引插入 INSERT满足表约束即可自由新增数据仅单表无聚合视图可插入需补齐基表必填字段修改 UPDATE无额外限制直接修改磁盘原始数据仅简单单表视图支持聚合 / 联表视图不可更新删除行 DELETE自由删除数据保留表结构仅简单单表视图可删除记录底层改动基表销毁结构 DROP清空表结构 全部数据关联视图失效仅删除视图定义底层数据表完好无损依赖关系完全独立不依附其他对象必须依托至少一张实体数据表存在