Skip to main content

视图

视图

视图不是一个特定的数据表文件,而是由一张或者多张真实表文件中满足特定条件的数据组成的一张虚拟表。

客户端

用户订单商品表(虚拟)

商品表

用户表

订单表

  • 数据访问的安全性:保证用户对非开放字段的屏蔽。
  • 特点条件数据的查询便利性:对视图数据进行查询逻辑更简单。

特性

  • 真实表新增/删除/修改数据,并满足视图条件,视图表自动更新。
  • 视图表新增/删除/修改数据,真实表会新增/删除/修改数据,但仅限单张表,多张表联合查询则不允许。

复杂查询但不修改数据的情况下,可以使用视图,新增/删除/修改操作,应该直接操作真实表。

-- 创建视图
create or replace view v_user_order as
select u.id as user_id,
u.name as user_name,
o.id as order_id,
o.total as amount
from users u
join orders o on u.id = o.user_id;

-- 重命名视图
rename table v_user_order to v_user_order_v2;

-- 删除视图
drop view v_user_order;
drop view if exists v_user_order;

-- 查看视图列结构
desc v_user_order

/*
create or replace view emp_d as
select e.emp_id, e.emp_name, d.dpt_id, d.dpt_name
from employees e
join departments d
on e.did = d.dpt_id;
*/