视图是一个基于SQL语句的结果集的虚拟表。它像一个真正的表一样具有行和列,在查询的时候与表基本没有差异。但它提供了两点好处:一是隐藏了SQL的复杂性,二是更重要的一点,它提供了额外的安全性。
概念
视图是由从数据库的基本表中选取出来的数据组成的逻辑窗口,它不同于基本表,是一个虚拟表,其内容由查询定义。在数据库中,存放的知识视图的定义而已,而不是存放数据,这些数据仍然存放在原来的基本表结构中。只有视图在使用的时候,才会执行视图的定义,从基本表中查询数据。视图一般用于查询。
作用
-
隐藏了数据的复杂性,可以作为外模式,提供了一定程度的逻辑独立性。
-
提高了数据的安全性,有利于控制用户对表中某些列或某些机密数据的访问。
-
能够简化结构,执行复杂查询操作。
-
使用用户能以多种角度、更灵活地观察和共享同一数据。
视图的操作
创建视图
可以使用「create view 视图名 as 」语句创建视图
create view view_employee_after2020 as
select first_name,second_name,salary
from employees
where hire_date >= '2020-01-01'
视图创建好后,可以像查询其他表一样查询它。
select *
from view_employee_after2020;
列出所有视图
show full tables where table_type like 'view';
查看视图创建语句
show create view view_employee_after2020\G