MYSQL--视图操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 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 
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
关系型数据库 MySQL
【mysql技巧】如何在这个mysql语句执行前加个前提,也就是只有表里没有相同数据才进行添加插入操作
【mysql技巧】如何在这个mysql语句执行前加个前提,也就是只有表里没有相同数据才进行添加插入操作
15 1
|
5天前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
10 0
「Python入门」python操作MySQL和SqlServer
|
13天前
|
缓存 DataWorks 关系型数据库
DataWorks产品使用合集之如何抽取MySQL视图数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 4
|
11天前
|
SQL 存储 关系型数据库
|
12天前
|
存储 数据可视化 关系型数据库
深入理解 MySQL 视图
深入理解 MySQL 视图
16 2
|
14天前
|
关系型数据库 MySQL 数据库
『Django』模型入门教程-操作MySQL
一个后台如果没有数据库可以说废了一半。日常开发中大多数时候都在与数据库打交道。Django 为我们提供了一种更简单的操作数据库的方式。 在 Django 中,模型(Model)是用来定义数据库结构的类。每个模型类通常对应数据库中的一个表,类的属性对应表中的列。通过定义模型,Django 的 ORM(Object-Relational Mapping)可以将 Python 对象映射到数据库表,并提供一套 API 来进行数据库操作。 本文介绍模型的用法。
|
15天前
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之无法创建mysql的连接池什么导致的
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
|
15天前
|
存储 关系型数据库 分布式数据库
PolarDB产品使用问题之在将RDS迁移到PolarDB后,原先由root用户创建的视图、存储过程等是否可以继续使用的
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
17天前
|
存储 关系型数据库 MySQL
【MYSQL】MYSQL操作库
【MYSQL】MYSQL操作库
36 0
|
17天前
|
SQL 算法 安全
心得经验总结:深入解析MySQL视图VIEW
心得经验总结:深入解析MySQL视图VIEW
19 0