学习视图

1.1 什么是视图

视图,是一个虚拟表,通过查询语句,从一个表或者多个表中查询得到的一个结果,可以作为一个视图使用,使用的效果和真实表一致。可以在视图中使用update,delete,insert操作,可以提供数据库的安全性,同时便于用户操作。

1.2 视图的特点

优点:
	1. 简单化,数据所见即所得
	2. 安全,用户有且只能修改操作当前可见数据
	3. 逻辑独立性,这里使用使用的一张虚拟表,所有操作并不会对数据库真实表结构导致影响。

缺点:
	1. 性能较差,不管是SQL操作还是针对数据存储的性能
	2. 修改不方便,复杂视图在操作中是无法修改的

1.3 创建视图和使用视图

1.3.1 创建视图
-- 语法
-- create view 视图名 as 查询数据结果[查询语句]
-- 创建视图
create view empInfo as
select employee_id, first_name, last_name, email, salary
from t_employees;
1.3.2 视图使用

-- empInfo不是一张真实存在的表,而是一个自定义查询结果的视图
select *
from empInfo
where employee_id = 150;


-- 利用视图中的结果进行排序操作
select *
from empInfo
order by salary desc;

-- 修改视图中的数据,原表数据会受到影响
update empInfo
set first_name = 'Jame',
    last_name  = 'Martin'
where employee_id = 100;

select *
from empInfo;

select *
from t_employees;

-- 视图原表数据发送修改,视图中数据也会修改
update t_employees
set first_name = 'Steven',
    last_name  = 'King'
where employee_id = 100;

select *
from empInfo;
1.3.3 修改视图
-- Table 'empInfo' already exists
-- 当前视图已经存在
-- [验证]
create view empInfo as
select employee_id, first_name, last_name, salary
from t_employees;

-- 修改当前视图的结构
alter view empinfo
as
select employee_id, first_name, last_name, salary
from t_employees;
1.3.4 删除视图
-- 删除不会影响原始数据
drop view empInfo;
发布了34 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40197991/article/details/105092228