数据库作业

发布时间:2026/7/6 5:51:17

数据库作业 MySQL数据库视图知识点整理6.1 视图的创建与查询6.1.1 视图基础概念视图属于逻辑虚拟数据表本身不存储真实业务数据所有数据均源自底层实体基础表。数据库仅持久保存视图对应的查询逻辑不会存储视图查询结果每次访问视图时MySQL会自动执行视图绑定的SELECT查询实时从底层数据表读取数据。使用视图四大核心优势1. 简化复杂查询逻辑将多表联查、多层筛选的复杂SQL封装为视图后续业务查询直接调用视图无需重复编写冗长语句2. 按需展示数据可过滤冗余字段、筛选有效数据仅对外暴露业务需要的内容3. 屏蔽数据表底层关联使用者无需掌握多张基础表的关联逻辑降低使用门槛4. 提升数据库权限安全无需向用户开放完整实体表访问权限仅分配视图查询权限隔离敏感原始数据6.1.2 视图创建语法标准创建语句sqlCREATE [OR REPLACE] VIEW 视图名称 [(自定义列别名)]AS SELECT 数据查询语句[WITH [CASCADED | LOCAL] CHECK OPTION];关键字释义- OR REPLACE 若数据库内已存在同名视图直接覆盖原有视图定义- WITH CHECK OPTION 通过视图新增、更新数据时录入内容必须匹配视图WHERE筛选条件不符合则操作失败- LOCAL 校验规则仅作用于当前视图不向上追溯依赖视图- CASCADED 默认规则校验时同时校验当前视图与上层所有依赖视图的筛选条件创建视图硬性限制1. 同一数据库下视图名称不可与数据表重名2. 视图无法创建主键、索引、外键约束3. 视图内的SELECT语句存在使用限制不能嵌套FROM子查询、无法引用存储过程变量等6.1.3 视图查询方式视图查询语法和实体数据表完全通用使用方式无差别sqlSELECT * FROM 视图名称 WHERE 筛选条件;关键注意事项当底层基础表新增字段后已创建完成的旧视图不会自动同步新增字段需要重新执行创建语句更新视图定义。6.2 视图的增删改操作6.2.1 通过视图操作数据增/改/删仅可更新视图支持INSERT、UPDATE、DELETE操作视图满足以下任意一种条件则无法更新1. 查询包含聚合函数SUM、AVG、COUNT等2. 使用分组、去重、合并关键字GROUP BY、HAVING、DISTINCT、UNION3. FROM子句关联两张及以上实体表INSERT 插入规则若视图配置 WITH CHECK OPTION 插入数据必须满足视图筛选条件底层实体表存在非空字段但该字段未在视图中展示时无法执行插入操作。UPDATE 更新规则多表关联视图执行更新时单次操作仅能修改其中一张表的字段不允许同时修改多张关联表数据。DELETE 删除规则重要规定关联多张数据表的视图不支持执行DELETE删除语句。6.2.2 修改已有视图定义语法sqlALTER VIEW 视图名称AS SELECT 全新查询逻辑;6.2.3 删除视图语句sqlDROP VIEW [IF EXISTS] 视图1,视图2;IF EXISTS 作用当目标视图不存在时执行语句不会抛出报错支持一条语句批量删除多个视图。章节核心考点汇总1. 视图本质是虚拟表无独立物理存储空间数据实时取自基础表或其他视图2. WITH CHECK OPTION 约束作用管控插入、更新的数据强制匹配视图筛选条件3. 多表视图操作限制UPDATE仅能单表修改完全禁止DELETE删除操作4. 底层基础表扩充字段后原有视图不会自动同步需重建视图生效

相关新闻