定義
Mysql從5.0.1版本開始提供視圖功能。一種虛擬存在的表,行和列的數據來自定義視圖的查詢中使用的表,並且是在使用視圖時動態生成的
,只保存了sql邏輯,不保存查詢結果
視圖和表的對比
創建語法關鍵字 是否實際佔用物理空間 使用(針對數據而言)
視圖 create view 只保存了sql邏輯 增刪改查(一般不使用)
表 create table 保存了數據 增刪改查
例如:查詢姓張的學生名和專業名
select stuname,majorname from stuinfo s inner join major m on s.majorid=m.id where s.stuname like '張%' //要連接查詢
create view v1 as select stuname,majorname from stuinfo s inner join major m on s.majorid=m.id // 創建視圖
select from v1 where stuname where stuname like '張%' // 查詢視圖
新建視圖
CREATE VIEW v1 AS SELECT
last_name,
department_name
FROM
employees
JOIN departments ON employees.department_id = departments.department_id
// 查詢姓名和對應的部門名
select * from v1
修改視圖
- 方式一
create or replace view 視圖名 as 查詢語句;
- 方式二
alter view 視圖名 as 查詢語句
刪除視圖
drop view v1,v2,v3
查看視圖
desc v1;
或
show create view v1;