一、视图基本概念
1.视图:数据库中存在一种虚拟存在的表,包含一系列带有名称和列的数据,这种表被称为视图。
注:
- 视图是从一个或者多个表中导出的表,它是一种虚拟存在表;
- 视图的结构和数据依赖于基本表;
- 视图中存在的数据也可以查询、修改和删除。
2.视图的优点:
- 简化了查询语句:视图简化了用户对数据的理解,简化对数据的操作。开发中可将经常使用的查询定义为视图,避免用户大量重复操作;
- 更具有安全性:用户只能通过视图查询和修改他们能见到的数据,数据库中的其他数据则既看不到也取不到;
- 具有逻辑数据独立性:可以屏蔽真实表结构带来的影响;
二、视图的管理
1.创建视图
-- 基本语法
create [or replace] [ALGORITHM = {undefined|merge|temptable}]
view 视图名 [(column_list)]
as select_statement
[with [cascaded|local|check option]]
-- 例子1
create view view_stU as select eng,chinese,eng+chinese from student;
-- 例子2
create view view_stUT(math,chin,sum) as select eng,chinese,eng+chinese
from student;
2.查看视图
-- 基本语法格式
show table status like '视图名';
-- 例子
show table status like 'stu_cla'\d;
-- 查看创建视图时的定义语句
show create view 视图名;
-- desc语句查看视图
desc view_student
3.修改视图
-- 修改视图方法1语法
create or replace view view_name as select_statement;
--例子
create or replace view view_name as select *from student;
--修改视图2
alter view view_student as select English from student;
4.更新视图
-- 使用update语句更新视图语法
update view_sytudent set english = 98;
-- 使用insert into语句更新视图
insert into 视图名 value(4,'xiaowenge',100,98);
-- 使用delete语句更新视图
delete from view_student where math = 80;
5.删除视图
-- 语法
drop view if exists view_student;