本文全面介绍Mysql 视图相关的核心知识。包括介绍视图定义,基于查询结果的虚拟表,有简化查询、保障安全、解耦逻辑等作用。讲解创建、修改、删除视图的操作,以及及视图可更新条件、安全性控制及性能优化方法。
本文目录
一、视图的定义与作用
定义
作用
二、视图的创建与管理
创建视图
修改视图
方式 1:覆盖原有视图
方式 2:ALTER VIEW
删除视图
三、视图两种算法
MERGE(默认)
TEMPTABLE
四、视图的可更新性
可更新视图条件
可更新示例
不可更新示例
五、视图的安全性控制
六、视图的性能优化
七、实际应用场景
数据权限隔离
简化报表查询
一、视图的定义与作用
定义
视图是基于一个或多个表的查询结果生成的虚拟表,不存储实际数据,数据动态生成。
作用
简化复杂查询:封装多表连接、聚合等操作,简化业务逻辑。
CREATE VIEW user_order_view AS
SELECT
u.id AS user_id,
u.name AS user_name,
o.id AS order_id,
p.name AS product_name,
o.quantity,
o.total_price
FROM users u
JOIN orders o ON u.id = o.user_id
JOIN products p ON o.product_id = p.id;
数据安全:限制用户访问基表的敏感字段,如隐藏手机号、密码等。
二、视图的创建与管理
创建视图
CREATE VIEW view_name AS
SELECT column1, column2 FROM table