1、Mysql视图:
- 视图是基于一个表或多个表或试图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。
- 视图基于的表称为基表。
- 视图是存储在数据字典里的一条select语句。
- 通过创建视图可以提取数据的逻辑上的集合或组合
2、视图的优点:
(显示部分,对权限的控制)
- 对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。
- 用户通过简单的查询可以从复杂查询中得到结果。
- 维护数据的独立性,视图可以从多个表中检索数据。
- 对于相同的数据可产生不同的视图
3、创建视图:
create VIEW 视图名 AS 子查询;
3.1、创建一张基本工资大于2000元的员工信息视图:
create VIEW view1 AS (
SELECT
*
FROM
emp
WHERE
SAL > 2000
);
3.2创建一张可以统计部门编号,部门名称、部门人数、部门平均工资的视图
CREATE VIEW view2 AS (
SELECT
d.DEPTNO AS '部门编号',
d.DNAME AS '部门名称',
COUNT(e.DEPTNO) AS '部门人数',
IFNULL(ROUND(AVG(SAL), 2), 0) AS '平均工资'
FROM
emp e
RIGHT JOIN dept d ON (e.DEPTNO = d.DEPTNO)
GROUP BY
e.DEPTNO
)
4、查询视图:
select * from 视图名;
5、修改视图:
create or REPLACE VIEW 视图名称 AS 子查询;
该语句用于修改视图,有该视图就修改,没有就创建
或者:
alter VIEW 视图名称 as 子查询;
该语句用于修改已经创建的视图,没有该视图则报错
6、删除视图:
drop view 视图名;
7、查看视图定义:
desc 视图名称