含義
視圖是一張虛擬表,和普通表一樣使用,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';