九、MySQL之视图的介绍

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 九、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

保存了数据

增删改查


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
|
6天前
|
关系型数据库 MySQL 程序员
【MySQL 数据库】8、视图
【MySQL 数据库】8、视图
47 0
|
6月前
|
SQL 关系型数据库 MySQL
MySql数据库中的视图,索引与数据库sql脚本如何导入与导出---(详细介绍)
MySql数据库中的视图,索引与数据库sql脚本如何导入与导出---(详细介绍)
252 0
|
6天前
|
存储 关系型数据库 MySQL
MySQL中如何创建一个视图
MySQL中如何创建一个视图
23 0
|
6天前
|
存储 关系型数据库 MySQL
mysql视图
mysql视图
|
6天前
|
关系型数据库 MySQL
MySQL第四战:视图以及常见面试题(上)
MySQL第四战:视图以及常见面试题(上)
|
6天前
|
关系型数据库 MySQL 索引
【MySQL】17. 视图
【MySQL】17. 视图
12 0
|
6月前
|
存储 关系型数据库 MySQL
MySql进阶使用之视图、索引(详解)
MySql进阶使用之视图、索引(详解)
393 1
|
6天前
|
Oracle 关系型数据库 MySQL
【mysql】—— 视图
【mysql】—— 视图
|
6天前
|
关系型数据库 MySQL
Mysql基础第二十五天,使用视图
Mysql基础第二十五天,使用视图
20 0
Mysql基础第二十五天,使用视图