#视图/*
概念相当于 对象,抽象成一个方法;提高复用性
*/#1、创建视图/*
语法:
CREATE VIEW 视图名
AS 查询语句;
*/USE myemployees;#案列1、查询邮箱中包含a字符的员工名、部门名、工种信息#METHOD 1 方法1CREATEVIEW myView ASSELECT e.last_name,d.department_name,j.job_title,e.email
FROM employees e INNERJOIN departments d ON e.department_id=d.department_id
INNERJOIN jobs j ON j.job_id=e.job_id;DROPVIEW myView;SELECT*FROM myView WHERE email LIKE'%a%';#METHOD 2 方法2SELECT e.last_name,d.department_name,j.job_title,e.email
FROM employees e INNERJOIN departments d ON e.department_id=d.department_id
INNERJOIN jobs j ON j.job_id=e.job_id WHERE e.email LIKE'%a%';#2、视图的修改#方式一/*
CREATE OR REPLACE VIEW 视图名
AS 查询语句;
*/CREATEORREPLACEVIEW myView ASSELECT e.last_name,d.department_name,j.job_title,e.salary
FROM employees e INNERJOIN departments d ON e.department_id=d.department_id
INNERJOIN jobs j ON j.job_id=e.job_id;#3、删除视图/*
DROP VIEW 视图名,视图名......;
*/#4、查看视图DESC myView;SHOWCREATEVIEW myView;#查看创建过程#5、视图更新(没什么用)#注意:视图一般用于查询的,而不是更新的,所以具备以下特点的视图都不允许更新#6、视图和表的对比/* 关键字 是否占用物理空间 使用
视图 view 占用较小,只保存sql逻辑 一般用于查询
表 table 保存实际的数据 增删改查
*/