视图是虚拟的表,视图只包含使用时动态检索数据的查询结果,它并不包含任何数据。
1.创建视图
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];
--就是将后面SELECT语句查询出的结果,创建为一个视图
2.示例
--以company表为操作对象
runoobdb=# SELECT * FROM COMPANY;
id | name | age | address | salary
----+-------+-----+----------------------------------------------------+--------
1 | Paul | 32 | California | 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall | 45000
7 | James | 24 | Houston | 10000
(7 行记录)
--创建一个视图
runoobdb=# CREATE VIEW company_view AS
runoobdb-# SELECT ID,NAME,AGE
runoobdb-# FROM company;
CREATE VIEW
--查看视图
runoobdb=# SELECT * FROM company_view;
id | name | age
----+-------+-----
1 | Paul | 32
2 | Allen | 25
3 | Teddy | 23
4 | Mark | 25
5 | David | 27
6 | Kim | 22
7 | James | 24
(7 行记录)
--可以看到其实视图内容就是前面SELECT语句的查询结果
在Navicat上可以看到视图被创建了,也可以直接查看其内容
3.删除视图
DROP VIEW view_name;
4.示例
runoobdb=# DROP VIEW company_view;
DROP VIEW
runoobdb=# SELECT * FROM company_view;
错误: 关系 "company_view" 不存在
第1行SELECT * FROM company_view;
5.查看创建视图的语句
在Navicat上右键点击设计视图,就可以看到视图所对应的查询语句