本文主要讨论视图。
什么是视图?
视图是一个虚拟的表,它是基于一个或多个基础表或其他视图的查询的结果集;视图本身是不存储数据的。
视图中存储的是一条命令,可以理解为用视图来替代一条指令。
下面我们来看一个例子:
sql
-- 创建视图:查询一班的男生
CREATE VIEW boys_class1 AS
SELECT id, name, age
FROM students
WHERE class = '一班' AND gender = '男';
这样就创建了一个视图。后面如果还需要查询一班的男生,那么就可以直接使用:
sql
SELECT * FROM boys_class1;
这就是视图的作用。它能减少重复代码的书写,提高效率。
创建使用和删除
视图的创建使用 create view关键字:
sql
CREATE VIEW 视图名 AS
SELECT 列名 FROM 表名 WHERE 条件;
视图的使用和上面的相同,使用select * from:
sql
CREATE VIEW 视图名 AS
SELECT 列名 FROM 表名 WHERE 条件;
最后删除视图使用drop view:
sql
DROP VIEW 视图名;
总的来说,视图有以下的作用:
- 简化复杂查询
可以让复杂的语句简化为一条简单的语句。- 数据安全
查询时只给视图的权限就能隐藏敏感字段(如密码身份证等)- 统一数据口径
在团队开发中,使用同一个视图,保证大家使用的规则一致,不会出现计算错误等情况。- 兼容性强
如果表结构被修改,通过视图保持原有的查询字段,不用去修改代码。