视图是虚拟的表,视图只包含使用时动态检索数据的查询结果,它并不包含任何数据。

1.创建视图

  1. CREATE [TEMP | TEMPORARY] VIEW view_name AS
  2. SELECT column1, column2.....
  3. FROM table_name
  4. WHERE [condition];
  5. --就是将后面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上可以看到视图被创建了,也可以直接查看其内容
image.png

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上右键点击设计视图,就可以看到视图所对应的查询语句
image.png