九、MySQL之视图的介绍

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 九、MySQL之视图的介绍

文章目录

🌅前言

这一节介绍MySQL中的视图,内容主要包括视图的创建、修改、查看和删除、更新以及视图与表的对比等内容。

🧑视图的介绍

👉含义:mysql5.1版本开始出现的新特性。是一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。

例如:舞蹈班和普通班级的对比

👉应用场景:

① 多个地方用到同样的查询结果

②该查询结果使用的sql语句较复杂

③示例:

CREATEVIEW my_v1

AS

SELECT studentname,majorname

FROM students

INNERJOIN major m

ON s.majorid=m.majorid

WHERE s.majorid=1;

👦创建视图

语法:

create view 视图名

as

查询语句;

🔶例:查询姓名中包含a字符的员工名、部门名和工种信息

①创建

CREATE VIEW myv1

AS

SELETE last_name, department_name, job_title

FROM employees e

JOIN departments d ON e.department_id = d.department_id

JOIN jobs j ON j.job_id = e.job_id;

②使用

SELECT * FROM myv1 WHERE last_name LIKE ‘%a%’;


🔵视图的好处

  • 重用sql语句
  • 简化复杂的sql操作,不必知道它的查询细节
  • 保护数据,提高安全性

👨修改视图

👍方式一:

语法:

create or replace view 视图名

as

查询语句;

👍方式二:

语法:

alter view 视图名

as

查询语句

😃删除视图

语法:

drop view 视图名,视图名,…;

😊查看视图

语法:

desc 视图名;

😉更新视图

👍插入:

INSERT INTO myv1 VALUES(‘张飞‘,’zf@qq.com’);

👍修改:

UPDATE myv1 SET last_name = '张无忌‘ WHERE last_name='张飞“;

👍删除:

DELETE FROM myv1 WHERE last_name = '张无忌’;


注:视图的可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的。

1.包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all

2.常量视图

3.select中包含子查询

4.join

5.from一个不能更新的视图

6.where子句的子查询引用了from子句中的表

🤷‍♂️视图和表的对比


创建语法的关键字

是否实际占用物理空间

使用

视图

create view

只是保存了sql逻辑

增删改查,一般不能增删改

create table

保存了数据

增删改查


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;举例说明注意点及常见报错问题所对应的解决方法
|
5月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
5月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
2月前
|
SQL 存储 关系型数据库
mysql-视图的定义和简单使用
这篇文章介绍了MySQL中视图的定义和简单使用方法,包括视图的创建规则和使用限制。通过一个实际的例子,展示了如何创建视图以及如何使用视图来简化复杂的SQL查询操作。
mysql-视图的定义和简单使用
|
2月前
|
存储 缓存 关系型数据库
MySQL 视图:数据库中的灵活利器
视图是数据库中的虚拟表,由一个或多个表的数据经筛选、聚合等操作生成。它不实际存储数据,而是动态从基础表中获取。视图可简化数据访问、增强安全性、提供数据独立性、实现可重用性并提高性能,是管理数据库数据的有效工具。
|
3月前
|
存储 关系型数据库 MySQL
|
4月前
|
SQL 安全 关系型数据库
MySQL创建视图(CREATE VIEW)13
【7月更文挑战第13天】创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。
67 1
|
5月前
|
缓存 DataWorks 关系型数据库
DataWorks产品使用合集之如何抽取MySQL视图数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
95 4
|
4月前
|
存储 数据可视化 关系型数据库
深入理解 MySQL 视图
深入理解 MySQL 视图
40 2
|
5月前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)