MYSQL--视图操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: MYSQL--视图操作

一:介绍:

               MYSQL当中的视图,实际上是一个虚拟的表,实际上并不存在,并且之后需要对这一个虚拟的表进行赋值,从原本的表当中获取数据,并将其当作表进行使用

TIPS:  1.使用视图进行查询数据的时候,实际上都是从原本的表当中获取相应的数值的,因此当原表修改的时候,视图当中的数据也都会进行相应的修改

       2.视图是虚拟的,所以在MYSQL当中并没有存放视图的数据,这些数据仍然是在原本的表当中的

作用:

1.通过使用视图,能够将一些代码进行封装查询,使比较复杂的代码变得简单化,提高复用性以及理解

2.另一方面,也可以提高安全的指数,对与不同的用户,可以设置不同的视图,将他们应当看到的从原表当中提取出来,从而提高代码的安全性


二:视图的相关操作

MYSQL当中的视图操作主要包括

1.视图的创建

2.视图的修改

3.视图的更新

4.视图的重命名以及删除

1.视图的修改

       

-- 创建语法
create or replace view (视图名) 
as 
(查询的原表当中需要使用的一些数据);
 
-- 一:将原数据表employee当中的员工编号以及姓名当作作为视图
use mydb6;
 
create or replace view 
view_emp 
as 
select eid,ename from employee;
 
 
-- 查看数据库当中的表,视图
show tables;
-- 显示的是所有的表,在这里连带视图也将其当作是一个表
show full tables;
-- 能够显示是表还是一个视图,展示类型

2.视图的修改:

二:修改视图
 
1.可以使用之前的关键语句方法
create or replace view ....  将原本的表进行替换,也就是对相应的数据进行修改
 
2.关键词:alter view (需要进行修改的表名称) as (修改需要的数据查询)
alter view view_emp as 
select dname ,eid,ename from employee;

3.视图的更新

三:视图的更新
1.需要注意的最重要的一点:对于视图的更新,实际上就是对于原表当中数据的更新!
2.视图是一个虚拟表,最好仅仅只将其当作查询的快捷方式进行使用,而不要在其中修改数据,因为会有很多的条件限制,让有些修改无法成功!
 
create or replace view 
view_emp 
as 
select eid,ename from employee;
 
update view_emp set ename='张三' where ename='刘备';
 
-- 某些不能进行更新(插入数据)的视图:
主要包括有:
聚合函数,
去重(distinct) 
group by
(分组之后) 
having 
union \\ union all (前者能够去除两个表当中重复的数据) union 控制的是上下的表连接,而join控制的是左右连接
 
子查询当中也不能够进行修改,插入
 
视图包含join也不能够进行更新
 
仅仅只引用文字值也不能够进行修改

4.视图的重命名以及删除

四:视图的重命名
1.关键词:rename table (视图名) to (新名称)
rename table view_emp to view_emp1;
 
2.视图的删除:
关键词:drop view [if exists] (视图名)
drop view view_emp1;
 
drop view 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 运维 关系型数据库
MySQL 中 GRANT 操作会引起复制中断吗?
GRANT 操作并不是一个原子性操作,不管执行成功与否,都会触发一个隐式重载授权表的行为。 在生产环境中需要规范用户创建及授权的操作,不推荐使用 DML 语句去直接变更 mysql.user 表,可能会引发其他的问题,若使用了 DML 语句进行变更, 需要手工执行 flush privileges。
254 4
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
219 0
|
10月前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(05)突击MVCC核心原理 | 左右护法ReadView视图和undoLog版本链强强联合
2024年小结:感谢阿里云开发者社区每月的分享交流活动,支持持续学习和进步。过去五个月投稿29篇,其中17篇获高分认可。本文详细介绍了MySQL InnoDB存储引擎的MVCC机制,包括数据版本链、readView视图及解决脏读、不可重复读、幻读问题的demo演示。
|
SQL 存储 关系型数据库
mysql-视图的定义和简单使用
这篇文章介绍了MySQL中视图的定义和简单使用方法,包括视图的创建规则和使用限制。通过一个实际的例子,展示了如何创建视图以及如何使用视图来简化复杂的SQL查询操作。
mysql-视图的定义和简单使用
|
12月前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;举例说明注意点及常见报错问题所对应的解决方法
|
存储 关系型数据库 文件存储
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
132 2
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
存储 缓存 关系型数据库
MySQL 视图:数据库中的灵活利器
视图是数据库中的虚拟表,由一个或多个表的数据经筛选、聚合等操作生成。它不实际存储数据,而是动态从基础表中获取。视图可简化数据访问、增强安全性、提供数据独立性、实现可重用性并提高性能,是管理数据库数据的有效工具。
237 0
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之运行mysql to doris pipeline时报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之整库同步mysql到starRock提交任务异常,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。

推荐镜像

更多