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';


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章