Mysql碎片整理:视图的学习

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 视图可以帮助我们做复杂查询时省去细节,也可以对大量重复的sql语句做简化,因为它是一个别名的存在,视图并不真的存数据内容,它还是调用底层的sql代码。尽量不要对视图做修改。
  1. 它可以复用SQL语句;简化SQL语句缩写;对于复杂查询有帮助~省去细节。
  2. 尽量不要在视图上做修改

创建语法

CREATE VIEW 视图名 AS 查询语句

例如:

CREATE VIEW male_student_view 
AS
SELECT s1.number, s1.name, s1.major, s2.subject, s2.score 
FROM
student_info AS s1
INNER JOIN
student_score AS s2
WHERE s1.number = s2.number AND s1.sex = '男';

使用

简单查询

SELECT * FROM male_student_view;

该语句结果和下面sql语句是一样的。

SELECT s1.number, s1.name, s1.major, s2.subject, s2.score 
FROM
student_info AS s1
INNER JOIN
student_score AS s2
WHERE s1.number = s2.number AND s1.sex = '男';

将它当做真实的表操作即可

  1. 创建视图的其实是对AS后面的SQL语句起别名,视图本身并不会将SQL的结果集维护在硬盘或者内存里!在对视图进行查询时,MySQL服务器将会帮助我们把对视图的查询语句转换为对底层表的查询语句然后再执行。
  2. 视图还可以真实表一起使用。
  3. 你对视图的修改操作会影响到真实表中的数据这是有前提的

前提
这个视图的产生不能包括:

  • 聚集函数(比如SUM(), MIN(), MAX(), COUNT()等等)
  • DISTINCT
  • GROUP BY
  • HAVING
  • UNION 或者 UNION ALL
  • 某些子查询
  • 某些连接查询
有很多前提啊,所以对表的修改还是针对基础表进行修改吧,只对复杂查询可以借助视图。

定义列名

CREATE VIEW student_info_view(no, n, m) AS SELECT number, name, major FROM student_info;
  • no 对应 number
  • n 对应 name
  • m 对应 major

之后对视图的操作也需要按照自定义的列名来操作,操作的内容也会影响到真实数据。

查看视图

创建视图时默认是将其放在当前数据库下

  1. use 数据库;
  2. show tables;

删除视图

DROP VIEW 视图名
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL Shell
shell学习(十七) 【mysql脚本备份】
shell学习(十七) 【mysql脚本备份】
14 0
|
1月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
|
1月前
|
存储 关系型数据库 MySQL
MySQL中如何创建一个视图
MySQL中如何创建一个视图
20 0
|
1月前
|
存储 关系型数据库 MySQL
mysql视图
mysql视图
|
1月前
|
SQL 存储 关系型数据库
6本值得推荐的MySQL学习书籍
本文是关于MySQL学习书籍的推荐,作者在DotNetGuide技术社区和微信公众号收到读者请求后,精选了6本值得阅读的MySQL书籍,包括《SQL学习指南(第3版)》、《MySQL是怎样使用的:快速入门MySQL》、《MySQL是怎样运行的:从根儿上理解MySQL》、《深入浅出MySQL:数据库开发、优化与管理维护(第3版)》以及《高性能MySQL(第4版)》和《MySQL技术内幕InnoDB存储引擎(第2版)》。此外,还有12本免费书籍的赠送活动,涵盖《SQL学习指南》、《MySQL是怎样使用的》等,赠书活动有效期至2024年4月9日。
|
1月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
4天前
|
关系型数据库 MySQL
MySQL第四战:视图以及常见面试题(上)
MySQL第四战:视图以及常见面试题(上)
|
4天前
|
存储 关系型数据库 MySQL
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
学习MySQL(5.7)第二战:四大引擎、账号管理以及建库(干货满满)
|
13天前
|
SQL 监控 关系型数据库
【MySQL学习】MySQL的慢查询日志和错误日志
【MySQL学习】MySQL的慢查询日志和错误日志
|
13天前
|
存储 关系型数据库 MySQL
Mysql学习--深入探究索引和事务的重点要点与考点
Mysql学习--深入探究索引和事务的重点要点与考点