定义
Mysql 从 5.0.1 版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时 动态生成的
, 只保存了 sql 逻辑,不保存查询结果
视图和表的对比
创建语法关键字 是否实际占用物理空间 使用(针对数据而言)视图 create view 只保存了 sql 逻辑 增删改查(一般不使用)表 create table 保存了数据 增删改查
例如:查询姓张的学生名和专业名
select stuname,majorname from stuinfo s inner join major m on s.majorid=m.id where s.stuname like '张 %' // 要连接查询
create view v1 as select stuname,majorname from stuinfo s inner join major m on s.majorid=m.id // 创建视图
select from v1 where stuname where stuname like '张 %' // 查询视图
新建视图
CREATE VIEW v1 AS SELECT
last_name,
department_name
FROM
employees
JOIN departments ON employees.department_id = departments.department_id
// 查询姓名和对应的部门名
select * from v1
修改视图
- 方式一
create or replace view 视图名 as 查询语句;
- 方式二
alter view 视图名 as 查询语句
删除视图
drop view v1,v2,v3
查看视图
desc v1;
或
show create view v1;