1. 什么是视图视图是数据库的虚拟表不存储真实数据仅保存一条预编译的SELECT查询语句。每次查询视图时数据库会动态执行这条SQL从关联的底层数据表中实时计算并返回结果。视图相当于给底层数据表开了一扇“观景窗”用户只能看到窗口内限定的数据。2. 使用视图的三大核心价值1. 简化复杂查询日常开发中经常需要多表JOIN、聚合统计、嵌套子查询重复编写大量SQL效率低下。我们可以把整套查询逻辑封装成视图后续仅用 SELECT * FROM 视图名 即可获取结果大幅简化开发代码。2. 精细化数据安全管控原始数据表常包含手机号、身份证、薪资等敏感字段直接开放给业务用户存在泄露风险。通过视图过滤敏感字段再分配仅查询视图的权限用户无法接触底层完整数据表实现列级数据隔离。3. 业务与存储逻辑解耦如果后期底层数据表字段、关联关系发生变更只需要修改视图的定义语句上层业务页面、接口的查询代码完全不需要改动降低系统耦合度。3. 视图全套操作SQL3.1 创建视图CREATE [OR REPLACE] VIEW 视图名 [(列名)] AS SELECT 查询逻辑 [WITH CHECK OPTION];3.2 查询视图-- 查询视图数据SELECT * FROM v_student_safe;-- 查看视图创建语句SHOW CREATE VIEW v_student_safe;3.3 修改视图覆盖重建:CREATE OR REPLACE VIEW v_student_safe ASSELECT id, name, gender, department, age FROM students;3.4 删除视图DROP VIEW IF EXISTS v_student_safe;4. 视图与数据表核心对比创建/更新/删除1. 创建层面数据表 CREATE TABLE 需要定义字段、数据类型、约束独立存在用于持久化原始数据视图 CREATE VIEW 依赖已存在的数据表仅封装查询语句无物理存储。2. 更新层面数据表 ALTER TABLE 直接修改物理存储结构INSERT/UPDATE/DELETE直接修改磁盘原始数据约束由表本身控制视图 ALTER VIEW 仅修改查询逻辑不改动底层表结构仅简单单表视图支持更新操作最终映射到底层数据表受WITH CHECK OPTION额外约束。3. 删除层面数据表 DROP TABLE 会彻底删除表结构全部存储数据数据丢失视图 DROP VIEW 仅删除视图的查询定义底层数据表和原始数据完全不受影响。4. 其他关键差异数据表支持索引、主键、外键查询性能更高视图无法建立索引复杂多表视图查询存在性能损耗。数据表是数据源载体视图是数据访问封装工具。5. 视图优缺点总结优势a.数据权限隔离保护敏感信息b.复用复杂查询逻辑简化业务代码c.底层存储变更不影响上层业务解耦系统d. 粒度化权限分配无需开放完整数据表。劣势a.复杂视图无索引查询效率较低b.多表、聚合视图不支持增删改操作c.多层嵌套视图逻辑隐蔽故障排查困难d. 无法存储数据仅作为查询封装层使用。