MySQL数据库——视图-介绍及基本语法(创建、查询、修改、删除、演示示例)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: MySQL数据库——视图-介绍及基本语法(创建、查询、修改、删除、演示示例)

介绍

视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表(称为基表),并且是在使用视图时动态生成的。


通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。

语法

因为视图是一种虚拟存在的表,所以可以根据之前操作表的方法来操作视图(其中修改视图与修改表不同,修改视图有两种方式)。

创建

CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 
[ WITH [CASCADED | LOCAL ] CHECK OPTION ]

查询

-- 查看创建视图语句:
SHOW CREATE VIEW 视图名称;
 
-- 查看视图数据:
SELECT * FROM 视图名称 ...... ;

修改

-- 方式一:
CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
 
-- 方式二:
ALTER VIEW 视图名称[(列名列表)] AS SELECT语句 
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]

删除

DROP VIEW [IF EXISTS] 视图名称 ...

演示示例

-- 创建视图
create or replace view stu_v 
as
select id,name from student
where
id <= 10;
 
-- 查询视图
show create view stu_v;
 
select * from stu_v;
 
select * from stu_v where id < 3;
 
-- 修改视图
create or replace view stu_v 
as 
select id,name,no from student 
where 
id <= 10;
 
alter view stu_v 
as 
select id,name from student 
where 
id <= 10;
 
-- 删除视图
drop view if exists stu_v;

上述我们演示了,视图应该如何创建、查询、修改、删除,那么我们能不能通过视图来插入、更新数据呢?

接下来,做一个测试。

-- 创建视图,设置条件id < 10
create or replace view stu_v 
as 
select id,name from student 
where 
id <= 10 ;
 
-- 插入两条数据,一条id < 10,另一条id > 10
insert into stu_v values(6,'Tom');
 
insert into stu_v values(17,'Tom22');
 
-- 查询视图
select * from stu_v;
 

执行上述的SQL,我们会发现,id为6和17的数据都是可以成功插入的。

但是我们执行查询,查询出来的数据,却没有id为17的记录。



因为我们在创建视图的时候,指定的条件为 id<=10,

id为17的数据,是不符合条件的,所以没有查询出来,

但是这条数据已经成功的插入到了基表中。

如果我们定义视图时指定了条件,然后我们在插入、修改、删除数据时,是否可以做到必须满足条件才能操作,否则不能够操作呢? 答案是可以的,这就需要借助于视图的检查选项了。

下一篇就来了解视图的检查选项这一内容。


END



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
28天前
|
SQL 缓存 监控
MySQL缓存机制:查询缓存与缓冲池优化
MySQL缓存机制是提升数据库性能的关键。本文深入解析了MySQL的缓存体系,包括已弃用的查询缓存和核心的InnoDB缓冲池,帮助理解缓存优化原理。通过合理配置,可显著提升数据库性能,甚至达到10倍以上的效果。
|
29天前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
10天前
|
SQL 关系型数据库 MySQL
MySQL的查询操作语法要点
储存过程(Stored Procedures) 和 函数(Functions) : 储存过程和函数允许用户编写 SQL 脚本执行复杂任务.
112 14
|
12天前
|
SQL 关系型数据库 MySQL
MySQL的查询操作语法要点
以上概述了MySQL 中常见且重要 的几种 SQL 查询及其相关概念 这些知识点对任何希望有效利用 MySQL 进行数据库管理工作者都至关重要
58 15
|
29天前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
26天前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
92 8
|
29天前
|
SQL 监控 关系型数据库
MySQL高级查询技巧:子查询、联接与集合操作
本文深入解析了MySQL高级查询的核心技术,包括子查询、联接和集合操作,通过实际业务场景展示了其语法、性能差异和适用场景,并提供大量可复用的代码示例,助你从SQL新手进阶为数据操作高手。
|
28天前
|
安全 关系型数据库 MySQL
MySQL安全最佳实践:保护你的数据库
本文深入探讨了MySQL数据库的安全防护体系,涵盖认证安全、访问控制、网络安全、数据加密、审计监控、备份恢复、操作系统安全、应急响应等多个方面。通过具体配置示例,为企业提供了一套全面的安全实践方案,帮助强化数据库安全,防止数据泄露和未授权访问,保障企业数据资产安全。
|
13天前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
52 3
|
19天前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。

推荐镜像

更多