本教程中所使用的数据库的建表语句都在“SQL教程——索引”这篇文章中,点击链接直达:索引&建表语句
摘要:本文主要介绍SQL的视图以及对视图的操作
视图
含义:虚拟表,和普通表一样使用
特点:
-
重用SQL语句
-
简化复杂的SQL操作,不必知道它的查询细节
-
保护数据,提高安全性
视图与表的比较:
| 创建语法的关键字 | 是否占用物理内存 | 使用 |
视图 | create view | 只是保存了SQL逻辑 | 增删改查,一般不能增删改查 |
表 | create table | 保存了数据 | 增删改查 |
视图是mysql5.1版本出现的新特性,是通过表动态生成的。
create view myv1
as
select avg(salary) ag, department_id
from employees
group by department_id;
select * from myv1;
create myv2
as
select *
from myv1
order by department_id
limit 1;
#视图的修改
#方式1:
create or replace view 视图名 #有则替换无责创建
as
查询语句
#方式2:
alter view 视图名
as
查询语句
#删除视图
drop view 视图名,视图名...
#查看视图
desc myv3
show create view myv3;
以下这些视图不能更新(不能用update):
-
包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
-
常量视图
-
Select中包含子查询
-
join
-
from一个不能更新的视图
-
where子句的子查询引用了from子句中的表