视图是一个虚拟表,其内容由查询定义
同真实的表一样,视图包含一系列带有名称的列和行数据
行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成
简单来说视图是由 select 结果组成的表
简单
简化用户对数据的理解,也可以简化他们的操作,那些经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件
安全
数据库可以授权,但不能授权到数据库特定行和特定列上面,通过视图用户只能查询和修改他们所能见到的数据
数据独立
视图可以帮助用户屏蔽真实表结构变化带来的影响(比如基表的name改为了studentName,那么视图可以根据基表的字段名进行更新操作,查询基础表的时候给studentName起个别名叫name就行了)
视图是对若干张基本表的引用,一张虚表,查询语句执行的结果
不存储具体的数据(基本表数据发生了改变,视图也会跟着改变)
可以跟基表一样,进行增删改查操作(增删改查操作有条件限制)
安全性:grant 语句可以针对视图进行授予权限
查询性能高
提高了数据的独立性
CREATE VIEW users_view AS (SELECT * FROM users WHERE salary > 2000);