视图
# 视图
视图是一个虚拟表,是从数据库中的一个或多个表中导出来的表,其内容由查询定义,将查询结果保存为一个虚拟表。
创建视图需要具有 CREATE VIEW 的权限,同时应该具有查询涉及的列的 SELECT 权限。
SELECT Select_priv,Create_view_priv FROM mysql.user WHERE user = 'root';
1
在 MySQL 中,使用 CREATE VIEW 语句创建视图
CREATE [ALGORITHM]
VIEW 视图名 [( 属性清单 )]
AS SELECT 语句;
1
2
3
2
3
- ALGORITHM :可选参数,表示视图选择的算法。
- 视图名:表示要创建的视图名称。
- 属性清单:可选参数,指定视图中各个属性的名词,默认情况下与 SELECT 语句中查询的属性相同。
- SELECT 语句:一个完整的查询语句,表示从某个表中查出某些满足条件的记录,将这些记录导入视图中。
查看视图是指查看已存在的视图,查看视图必须要有 SHOW VIEW 权限。
DESC 视图名;
-- 查看视图信息
SHOW TABLE STATUS LIKE '视图名';
SHOW CREATE VIEW 视图名;
-- 查询视图
select * from 视图名;
1
2
3
4
5
6
2
3
4
5
6
修改视图是指修改数据库中已存在的表的定义
-- 在视图已经存在的情况下,对视图进行修改;若视图不存在时,则创建
CREATE OR REPLACE VIEW 视图 [( 属性清单 )] AS SELECT 语句;
-- 修改视图
ALTER VIEW 视图名 AS SELECT 语句;
1
2
3
4
2
3
4
因为视图是一个虚拟表,其中没有数据,所以通过视图更新时,实际上都是在基本表中执行更新操作。
-- 注意修改虚拟表的数据 原表数据也会修改
UPDATE 视图名 SET 字段1 = 值1, 字段2 = 值2... [WHERE 条件表达式 ];
1
2
2
删除视图是指删除数据库中已存在的视图
DROP VIEW [IF EXISTS] 视图名;
1
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48