什么是视图

视图是一个虚拟表,其内容由查询定义

同真实的表一样,视图包含一系列带有名称的列和行数据

行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成

简单来说视图是由 select 结果组成的表

作用

简单

简化用户对数据的理解,也可以简化他们的操作,那些经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件

安全

数据库可以授权,但不能授权到数据库特定行和特定列上面,通过视图用户只能查询和修改他们所能见到的数据

数据独立

视图可以帮助用户屏蔽真实表结构变化带来的影响(比如基表的name改为了studentName,那么视图可以根据基表的字段名进行更新操作,查询基础表的时候给studentName起个别名叫name就行了)

视图的特性

视图是对若干张基本表的引用,一张虚表,查询语句执行的结果

不存储具体的数据(基本表数据发生了改变,视图也会跟着改变)

可以跟基表一样,进行增删改查操作(增删改查操作有条件限制)

视图的作用

安全性:grant 语句可以针对视图进行授予权限

查询性能高

提高了数据的独立性

创建视图

CREATE VIEW users_view AS (SELECT * FROM users WHERE salary > 2000);

修改视图