视图
含义:视图是一个虚拟表,它的数据来自于表,通过执行时动态生成。
视图和表的区别:
关键字 | 占用物理空间情大小 | 使用 | |
---|---|---|---|
视图 | view | 占用小,仅仅保存的是sql逻辑 | 一般用于查询 |
表 | table | 占用大 | 增删改查 |
视图的作用:
- 提高SQL语句的重用性
- 简化复杂的SQL操作
- 保护数据,隐藏表的实现细节。可以授予用户访问表的特定内容,而不是整个表数据。
/*
1.创建试图
create view 视图名
as
查询语句;
2.修改试图:
方式一:
create or replace view 视图名
as
查询语句;
方式二:
alter view 视图名
as
查询语句
3.删除试图:
drop view 视图1,视图2,...;
4.查看试图结构:
desc 视图名;
show create view 视图名;
5.试图的使用(和表基本类似,一般用于查询)
insert、update、delete、select
注意:视图一般用于查询的,而不是更新的,所以具备以下特点的视图都不允许更新
①包含分组函数、group by、distinct、having、union、
②join
③常量视图
④where后的子查询用到了from中的表
⑤用到了不可更新的视图
*/
#示例:创建一个名为excellent的视图,查询学生表中分数在90分以上的学生全部信息。
create view excellent
as
select *
from students
where score>=90;