含义
视图是一张虚拟表,和普通表一样使用,mysql 5.1版本出现的新特性,是通过表动态生成的数据。只保存了slq 逻辑,不保存查询结果
应用场景:
1 多个地方用到同样的查询结果
2 该查询结果使用的slq语句较复杂
优点:
1 重用sql
2 简化复杂sql操作,不必知道它的查询细节,保护数据,提高安全性
创建视图
语法:
Create or replace view 视图名
as
查询语句;
# 查询姓名中包含a字符的员工名、部门名、工种信息
1 创建视图
CREATE VIEW info
AS
SELECT employees.`last_name`,departments.`department_name`,jobs.`job_title`
FROM employees
INNER JOIN departments
ON employees.`department_id`=departments.`department_id`
JOIN jobs
ON employees.`job_id`=jobs.`job_id`;
2 使用
SELECT * FROM info WHERE info.`last_name` LIKE '%a%';
删除视图(必须有权限)
语法:
drop view 视图名1,视图名2.....;
DROP VIEW info;
查看视图
DESC info;
SHOW CREATE VIEW info;
视图增删改查
修改,删除,和表的实现方式一致
CREATE VIEW testjobs
AS
SELECT * FROM jobs;
#插入
INSERT INTO testjobs
VALUES('ce','ce_title',6000,16000);
#修改
UPDATE testjobs SET max_salary=25000;
#删除
DELETE FROM testjobs WHERE job_id='ce';