当前位置:网站首页>MySQL | 视图《康师傅MySQL从入门到高级》笔记

MySQL | 视图《康师傅MySQL从入门到高级》笔记

2022-06-24 07:07:00 Begonia_cat

1.视图概念

  • 根据一个表创建一个视图,则这个表称为基表

  • 视图是一个虚拟表,相当于SELECT语句的封装。

    套着羊皮SELECT的视图

  • 创建视图或者删除视图本身,不会影响基表。
    在这里插入图片描述

2.为什么要用视图?——查询查询查询!

为了方便查询。重复三遍,记住,只做查询使用!
当只想给特定人看特定的内容时,使用视图可以简化查询。

形象记忆:视图像个魔法镜子,它只显示允许你看到基表的一部分。

(1)优点

与新建字表相比,可以减少数据的冗余。
视图具有隔离性,保护原始数据,有助于数据安全。
当查询比较复杂时,可以创建多个视图,然后将这些视图的结果进行整合,完成复杂查询。

所以,针对视图,不要整那些花里胡哨的,比如增删改!
视图相当一个虚拟窗口,所以对它进行DML(增删改)操作时,即直接对基表进行DML操作。

  • 插入数据INSERT(基表中字段有约束时,插入数据如果不符合约束,则会插入失败)
  • 更新数据UPDATE
  • 删除数据DELETE
    视图中的字段,可能在基表中没有对应字段。比如,根据基表计算出的字段。对于这些字段,是无法执行UPDATEDELETE操作的。
    这段话看看就好,实际操作不建议使用!

(2)缺点

维护成本高

3.创建视图

CREATE OR REPLACE VIEW 视图可以直接用于创建或修改视图。实际上也基本都是这样写。
.
因为此处还没有讲到修改视图,所以先简单用CREATE VIEW进行介绍。

(1)单表

CREATE VIEW 视图名(字段别名1, 字段别名2, ...)  -- 如果与查询中字段同名,可以省略起别名`(字段别名1, 字段别名2, ...)`
AS
SELECT 字段1, 字段2, ...
FROM 表名
WHERE 过滤条件

(2)多表

CREATE VIEW 视图名(字段别名1, 字段别名2, ...)  -- 如果与查询中字段同名,可以省略起别名`(字段别名1, 字段别名2, ...)`
AS
SELECT 表名.字段1, 表名.字段2, ...
FROM 表名1, 表名2
ON 表名1.字段 = 表名2.字段;
WHERE 过滤条件

(3)基于视图创建视图

视图看做去写代码就好了,代码上没啥区别。

4.查看视图

(1)展示视图

SHOW TABLES;

(2)查看视图的结构

DESC 视图名称

(3)查看视图的详细信息

SHOW CREATE VIEW 视图名称

(4)查询视图中的全部内容

SELECT *
FROM 视图名

5.修改视图

常见题目:将...限制在...范围内

(1)加一个OR REPLACE就行

可以直接用这段代码进行创建或修改视图

CREATE OR REPLACE VIEW 视图名 
AS
针对基表的查询语句

(2)ALTER VIEW

ALTER TABLE 视图名
AS 
针对基表的查询语句

6.删除视图

DROP VIEW IF EXISTS 视图名

原网站

版权声明
本文为[Begonia_cat]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_44250700/article/details/125400864