MySQL 视图与触发器核心用法解析
视图基础
视图(View)本质上是虚拟表,基于 SQL 查询结果构建。它能让复杂查询简化为单表操作,同时保护底层数据。
创建视图
创建视图的基本语法如下:
CREATE [OR REPLACE] VIEW view_name AS SELECT ...
其中 ALGORITHM 参数可选,控制 MySQL 处理视图的方式:
UNDEFINED:默认行为,由 MySQL 自动选择最优算法。MERGE:将视图定义与外部查询合并优化,性能通常更好。TEMPTABLE:先将结果存入临时表再执行,适用于无法合并的复杂逻辑。
更新检查选项包括 CASCADED(默认,满足所有相关条件)和 LOCAL(仅满足当前视图条件)。
单表视图示例
为 use1 表创建视图:
CREATE VIEW use1_view AS SELECT * FROM use1;
验证视图结构可使用 DESCRIBE 命令:
DESCRIBE use1_view;
运行后若显示字段信息,说明创建成功。
多表视图示例
关联 test3 和 gradeinfo 表:
CREATE ALGORITHM=MERGE VIEW test3_view(id, name, score)
AS SELECT test3.id, name, score
FROM test3, gradeinfo WHERE test3.id = gradeinfo.id
WITH LOCAL CHECK OPTION;
运行后即可查看组合后的数据结果,注意这里使用了 CHECK OPTION 限制插入数据的范围。
修改与删除视图
修改视图推荐使用 CREATE OR REPLACE VIEW 或直接 ALTER VIEW。删除视图需确保不再被引用:

