)
一、视图基础概念定义视图View是一张虚拟表本身不存储真实数据仅保存一条查询 SQL 语句访问视图时会动态执行查询从底层基表提取数据。数据表是物理实体真实存储磁盘数据有独立存储空间。核心作用简化复杂查询、权限隔离、屏蔽表结构细节、统一数据展示格式。二、创建操作视图 VS 数据表1. 创建数据表语法sqlCREATE TABLE 表名(字段1 类型 约束,字段2 类型 约束);特点分配物理存储空间写入数据永久保存。2. 创建视图语法sqlCREATE VIEW 视图名 ASSELECT 列1,列2 FROM 基表 WHERE 条件;扩展CREATE OR REPLACE VIEW不存在则新建存在则覆盖更新视图定义。特点仅保存查询逻辑无物理存储数据来源于基表。创建对比总结维度数据表 TABLE视图 VIEW存储物理存储数据仅存查询语句无数据依赖独立存在依赖底层基表基表删除视图失效新增结构必须定义字段、数据类型复用基表字段无需重定义类型三、更新操作视图 VS 数据表1. 更新数据表直接修改原始数据永久生效sqlUPDATE student SET name张三 WHERE id1;2. 更新视图执行UPDATE/INSERT/DELETE视图时本质修改底层基表但有严格限制视图不含聚合函数SUM/COUNT、DISTINCT、GROUP BY、UNION不能关联多表 JOIN基表所有非空字段必须可通过视图插入。示例sql-- 可更新单表视图CREATE VIEW v_stu AS SELECT id,name FROM student;UPDATE v_stu SET name李四 WHERE id1;更新对比总结表更新无限制直接修改磁盘原始数据视图更新受查询语句约束修改最终同步到基表聚合、多表视图不可更新。四、删除操作视图 VS 数据表1. 删除数据表sqlDROP TABLE IF EXISTS student;后果表结构、全部数据、索引全部清除不可逆。2. 删除视图sqlDROP VIEW IF EXISTS v_stu;后果仅删除视图的查询定义底层基表和原始数据完全不受影响。删除对比总结删除表销毁实体数据与结构删除视图仅删除虚拟查询入口基表完好无损。五、视图与数据表完整对比表操作数据表 Table视图 View创建CREATE TABLE分配存储CREATE VIEW仅存查询 SQL查询SELECT 直接读取物理数据SELECT 执行内置 SQL动态查基表修改更新UPDATE 无限制永久改原始数据UPDATE 有限制间接修改基表聚合视图不可更新插入删除INSERT/DELETE 直接操作磁盘数据仅简单单表视图支持复杂视图不支持删除对象DROP TABLE数据 结构全部销毁DROP VIEW仅删除视图定义基表保留存储占用占用磁盘空间几乎不占用存储依赖关系独立实体依赖原始基表基表丢失视图失效六、视图优缺点优点简化 SQL复杂查询封装为视图数据安全给用户开放视图隐藏敏感字段统一展示口径多业务共用一套查询逻辑。缺点性能损耗每次查询视图都要执行子查询更新限制多复杂视图无法增删改基表结构修改后视图容易报错失效。七、常用配套语句查看视图定义SHOW CREATE VIEW 视图名;查看所有视图SHOW FULL TABLES LIKE v_%;修改视图定义ALTER VIEW 视图名 AS 查询语句;