21-mysql -- 视图

含义

视图是一张虚拟表,和普通表一样使用,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';


猜你喜欢

转载自blog.csdn.net/weixin_40719943/article/details/106892376