·概念
view,一种由select指令组成的虚拟表
- 视图是虚拟表,可以使用表管理(结构管理)
- 为视图提供数据的表叫做基表
# 创建视图
create view 视图名字 as select指令;
# 访问视图:一般都是查询
select */字段名 from 视图名字;
- 视图有结构,但不存储数据
- 结构:select选择的字段
- 数据:访问视图时执行的select指令
步骤
1、确定需要使用视图提供数据
- 数据来源是多张表
- 对外部系统提供数据支撑(保护基表数据)
2、使用视图
示例
1、需要对外提供一个学生详情的数据,经常使用:可以利用视图实现
# 对外提供数据,要保护数据本身的安全
# 需要长期使用
# 创建视图
create view v_student_info as select * from my_student s left join my_class c on s.class_id = c.id;
# 使用视图:像表一样使用
select * from v_student_info;
2、有些复杂的SQL又是经常用到的,如多张表的连表操作:可以利用视图实现
# 院系表
create table school(
id int primary key auto_increment,
name varchar(50) not null
);
insert into school values(null,'语言系'),(null,'考古系');
# 专业表
create table major(
id int primary key auto_increment,
name varchar(50) not null,
s_id int not null comment '学院id'
);
insert into major values(null