文章目录
- 1 视图的概念
- 2 创建视图
- 2.1 语法
- 2.2 给字段取名字
- 3 查看视图
- 4 修改视图
- 5 删除视图
1 视图的概念
- 视图是一种虚拟表,本身是不具有数据的,占用很少的内存空间,它是SQL中的一个重要概念。
- 视图建立在已有表的基础上,视图赖以建立的这些表称为基表。
- 视图的创建和删除只影响视图本身,不影响对应的基表。但是当对视图中的数据进行增加、删除和修改操作时,数据表中的数据会相应地发生变化,反之亦然。
- 向视图提供数据内容的语句为SELECT语句,可以将视图理解为存储起来的SELECT语句。
- 在数据库中,视图不会保存数据,数据真正保存在数据表中。当对视图中的数据进行增加、删除和修改操作时,数据表中的数据会相应地发生变化;反之亦然。
- 视图,是向用户提供基表数据的另一种表现形式。通常情况下,小型项目的数据库可以不使用视图,但是在大型项目中,以及数据表比较复杂的情况下,视图的价值就凸显出来了,它可以帮助我们把经常查询的结果集放到虚拟表中,提升使用效率。理解和使用起来都非常方便。
2 创建视图
2.1 语法
- 在CREATE VIEW 语句中嵌入子查询
CREATE [OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW 视图名称 [{字段列表}]
AS 查询语句
[WITH [CASCADED|LOCAL] CHECK OPTION]
- 精简版
CREATE VIEW 视图名称 [(字段列表)]
AS 查询语句
2.2 给字段取名字
-- 方式一
CREATE VIEW emp_view AS SELECT
employee_id emp_id,-- 视图的列名与别名一致
last_name lname,
salary
FROM
employees;
-- 方式二
-- 名字与查询的字段要一一对应
CREATE VIEW emp_view2 ( emp_id, lname, money ) AS SELECT
employee_id,
last_name,
salary
FROM
employees;
3 查看视图
-- 查看表和视图
SHOW TABLES;
-- 查看视图结构
DESC emp_view2;
-- 查看视图的属性信息
SHOW TABLE STATUS LIKE 'emp_view2';
-- 查看视图的详细定义信息
SHOW CREATE VIEW emp_view2;
4 修改视图
-- 创建一个视图用于修改
CREATE VIEW emp_view AS SELECT
employee_id emp_id,
last_name lname,
salary
FROM
employees;
-- 修改方式一
CREATE OR REPLACE VIEW emp_view AS SELECT
employee_id,
last_name,
salary,
email
FROM
employees
WHERE
salary > 7000;
-- 修改方式二
ALTER VIEW emp_view AS SELECT
employee_id emp_id,
last_name lname,
salary
FROM
employees;
5 删除视图
-- 删除视图
DROP VIEW IF EXISTS emp_view;
DROP VIEW IF EXISTS emp_view,emp_view2;