SQL语言——视图(view)的作用

一、了解视图

1.什么是视图

视图是一张虚拟表,封装了底层与数据表的接口,相当于一张表或多张表的数据结果集。是一种允许用户通过视图访问数据的安全机制。可以简化复杂的SQL查询,可直接使用视图而不需要考虑视图中包含的基础查询细节。
SQL语言——视图(view)的作用_第1张图片

2.视图与临时表的区别

视图是虚拟表,而临时表是真实存在的表,具有临时性的特点,用完就会被完全删除。
临时表只是在当前连接存在,关闭连接后,临时表就会被自动释放。

3.视图的优点

1.安全:虚拟表是基于底层数据表的,在使用视图时一般不会轻易通过视图对底层数据进行修改,在一定程度上保证了数据表的数据安全性,同时可以根据不同的用户开放不同的数据查询权限
2.简单清晰:视图是对SQL查询的封装,可以对原本复杂的查询简化,编写好查询后可以直接复用而无需知道基本的查询细节。同时可以在视图上嵌套视图,结构清晰,类似结构化编程,提升代码复用率。

二、视图的操作

视图的操作包括:

  • 创建视图
  • 修改视图
  • 删除视图
  • 嵌套视图

1.创建视图语法:

CREATE VIEW view_name AS
SELECT column1, column2
FROM table
WHERE condition

例如:

CREATE VIEW player_above_avg_height AS
SELECT 
	player_id,
	height
FROM player
WHERE height > (SELECT AVG(height) from player)

2.修改视图语法:

ALTER VIEW view_name AS
SELECT column1, column2
FROM table
WHERE condition

例如在原本的视图上再添加一个字段:

ALTER VIEW player_above_avg_height AS
SELECT 
	player_id, 
	player_name, 
	height
FROM player
WHERE height > (SELECT AVG(height) from player)

3.删除视图语法:

DROP VIEW view_name

例如删除刚刚创建的视图player_above_avg_height:

DROP VIEW player_above_avg_height

4.嵌套视图:
在已有视图的基础上创建新的视图

CREATE VIEW player_above_above_avg_height AS
SELECT 
	player_id, 
	height
FROM player
WHERE height > (SELECT AVG(height) from player_above_avg_height)

你可能感兴趣的:(SQL)