【从删库到跑路】详解MySQL数据库的视图以及相关操作

news2024/11/24 18:53:47

🎊专栏【MySQL】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
🥰欢迎并且感谢大家指出小吉的问题

文章目录

  • 🎄视图介绍
  • 🎄视图特点
  • 🌺基本操作
    • ⭐创建视图
    • ⭐查询视图
    • ⭐修改视图
    • ⭐删除视图
    • ⭐向视图中插入数据
  • 🎄视图的检查选项
  • 🎄视图的更新

在这里插入图片描述

视图是MySQL中非常有用的一个数据库对象,它允许我们将复杂的SQL查询转换为一个虚拟的表。掌握视图的使用可以简化查询、提高效率、保护数据安全。那么如何在MySQL中创建、查询、修改以及删除视图呢?本文将全面介绍MySQL视图的操作和注意事项。

我们将学习视图的语法格式,以及插入、更新视图数据的可行性分析。你将收获创建视图的多种方式,修改视图的SQL语句写法。最后,我们将讨论视图定义中的检查选项,以及更新视图需要注意的限制。希望通过系统学习,我们可以熟练运用MySQL的这个非常实用的功能。

🎄视图介绍

MySQL 视图是指虚拟的表,它本身不存储数据,而是从一个或多个表中获取数据并进行组合和展示。视图看起来像是一个普通的表,可以用于查询、更新和删除数据,但实际上其存储的是一条 SQL 语句,用于定义视图的结构和数据。

🎄视图特点

可以简化查询操作:通过使用视图,我们可以将复杂的 SQL 查询转换为简单的 SELECT 查询。

可以对查询结果进行过滤和加工:我们可以在视图中加入 WHERE 和 GROUP BY 等条件来对查询结果进行过滤和加工,进一步满足特定的查询需求。

可以提高查询效率:如果视图是从多个表中获取数据,并且每次都需要进行复杂的 JOIN 操作,那么使用视图可以避免重复的 JOIN 操作,从而提高查询效率。

可以保护数据安全:通过限制视图的访问权限,我们可以防止用户访问某些敏感数据。

🌺基本操作

在这里插入图片描述

⭐创建视图

create [or replace] view 视图名[(列名列表)] as select 语句 ;

create or replace view tb_v_1 as select id,name from tb_abc where id>=1;

创建成功后,我们会发现在界面中出现了 视图 这个选项
在这里插入图片描述

⭐查询视图

查看创建视图语句

show create view 视图名称;

查看视图数据

select * from 视图名称…;

show create view tb_v_1;

在这里插入图片描述

select * from tb_v_1;

在这里插入图片描述

⭐修改视图

方法一

create [or replace] view 视图名称[(列名列表)] as select 语句;

create or replace view tb_v_1 as select id,name,money from tb_abc where id>=1;

在这里插入图片描述

方法二

alter view 视图名称[(列名列表)] as select 语句;


alter view tb_v_1 as select id,name from tb_abc where id>=1;

在这里插入图片描述

⭐删除视图

drop view [if exist] 视图名称[视图名称]…;

drop view if exist tb_v_1;

⭐向视图中插入数据

insert into tb_v_1 values(666,'Tom');

在这里插入图片描述

🎄视图的检查选项

MySQL 视图的检查选项是指在创建和修改视图时,可以使用的一些选项来检查视图定义是否正确。以下是常用的视图检查选项:

WITH CHECK OPTION:使用该选项可以确保对视图的更新操作符合视图定义的过滤条件。如果更新操作不符合视图定义的过滤条件,将会被拒绝。

WITH CASCADED CHECK OPTION:类似于 WITH CHECK OPTION,但是会递归地应用到所有依赖于当前视图的其他视图。也就是说,如果更新操作不符合当前视图以及依赖于当前视图的其他视图的过滤条件,更新操作将会被拒绝。

WITH LOCAL CHECK OPTION:类似于 WITH CHECK OPTION,但是只会应用到当前视图,不会递归地应用到依赖视图。也就是说,只有当更新操作不符合当前视图的过滤条件时,才会被拒绝。

默认使用WITH CASCADED CHECK OPTION

在这里插入图片描述

🎄视图的更新

视图中的行基础表中的行必须存在一一对应的关系

在这里插入图片描述

如果视图包含下面任意一项,那么视图不可更新

  • 聚合函数或窗口函数(sum() min() max() count())
  • distinct
  • group by
  • having
  • union
  • union all

Congrats,通过本文的学习,我们已经可以熟练使用SQL语句创建、查询、修改和删除MySQL视图,并了解它的关键特性。remember视图的更新限制,避免错误操作。如果大家在工作中还遇到其他视图相关的问题,欢迎在评论区交流。最后,学习的关键是做练习,多动手使用视图,用它来简化查询,提高数据处理效率。持之以恒,SQL技术我们会越来越熟练!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1163040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java--对象在计算机中的执行原理

1.多个对象在计算机中的执行原理 解析:首先是先回扫描(scan)class文件,加载进入方法区,然后在扫描文件内部的main方法,扫描后会在栈内存中创造一个main空间,然后继续扫描第一节创造对象的话,然后就会在方法…

金融帝国实验室(Capitalism Lab)即将隆重推出『出口公司』功能

『金融帝国实验室』(Capitalism Lab)即将迎来v10.0.00重大版本更新! 并将为〔实验性DLC〕引入全新【出口公司】功能。 ————————————— 【出口公司】允许您: >通过出口客户搜索查找全球买家; >建立…

企业如何防止文件泄密

企业如何防止文件泄密 安企神数据防泄密系统下载使用 在互联网飞速发展的时代,数据成为大多数公司的重要组成部分,数据安全则是企业的安身立命之本,管理者应当重视保密措施。企业应当采取一系列措施来防止文件泄密,以确保敏感信…

消息中间件——RabbitMQ(二)各大主流消息中间件综合对比介绍!

前言 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka&a…

Ambari-2.7.4和HDP-3.1.4安装

提示:Ambari-2.7.4和HDP-3.1.4安装 Hadoop集群安装目录 一、所需机器二、系统环境配置2.1准备2.2配置5台主机的SSH免密登录(所有机器 )2.3同步时钟,开启NTP服务(所有机器)2.4每台节点里配置FQDN&#xff0c…

10个技巧,确保项目团队按时完成任务

作为项目经理,你的绩效取决于有效的截止日期管理,以便按时交付项目。 然而,我们都知道,项目很少会按计划进行,因此,在时间和截止日期方面,能够驾驭项目中出现的众多不确定因素非常重要。本文将…

指针运算笔试题解析(1)

指针运算笔试题解析 题目一解析 题目二解析 题目三解析 题目四解析 题目五解析 题目一 #include<stdio.h> int main() {int a[5]{1,2,3,4,5};int *p(int*)(&a1);printf("%d %d",*(a1),*(p-1));return 0; } 答案&#xff1a;2 5 解析 int a[5]{1,2,3,4,5…

vscode1.83远程连接失败

&#xff08;报错信息忘记截图了 总之卡在vscode-server.tar.gz的下载那里&#xff0c;一直404&#xff0c;删了C:\Users\Administrator\.ssh\known_hosts也不管用 看了一下vscode1.83的commitID为a6606b6ca720bca780c2d3c9d4cc3966ff2eca12&#xff0c;网友说可以通过以下网…

XUnit单元测试(实用项目)——看完不会用你打我

一、简介 xUnit.net 是针对 .NET 的免费、开源单元测试框架&#xff0c;可并行测试、数据驱动测试。测试项目需要同时引用 xUnit和被测试项目&#xff0c;从而对其进行测试。测试编写完成后&#xff0c;用 Test Runner 来测试项目&#xff0c;Test Runner 可以读取测试代码&am…

最新版付费进群源码带自动定位和分销以及分站功能完整版无加密

简介 看到别人发那些不是挂羊头卖狗肉&#xff0c;要么就是发的缺少文件引流的。非常滴恶心 这源码是我付费花钱买的免费分享给大家&#xff0c;功能完整。而且无加密 功能&#xff1a;新建分销会员&#xff0c;设置账号密码&#xff0c;收款方式等 说明&#xff1a; 分站…

opengl基础笔记1

1、opengl运行模式及opengl规范 运行模式&#xff1a;核心模式与立即渲染模式&#xff08;弃用&#xff09; 由于OpenGL的大多数实现都是由显卡厂商编写的&#xff0c;当产生一个bug时通常可以通过升级显卡驱动来解决。这些驱动会包括你的显卡能支持的最新版本的OpenGL&#xf…

算法题:99.恢复二叉搜索树

&#xff08;为不影响大家的观感&#xff0c;完整题目附在了最后&#xff09; 二叉搜索树的定义 二叉搜索树&#xff08;BST&#xff0c;Binary Search Tree&#xff09;&#xff0c;也称二叉排序树或二叉查找树。 二叉搜索树&#xff1a;一棵二叉树&#xff0c;可以为空&…

二叉树题目:在二叉树中增加一行

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;在二叉树中增加一行 出处&#xff1a;623. 在二叉树中增加一行 难度 5 级 题目描述 要求 给定一个二叉树的根结…

WiFi模块的环境可持续性:可再生能源、材料创新与碳足迹管理

随着数字化时代的到来&#xff0c;WiFi模块已经成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;这种便利也伴随着对环境的一定影响。本文将深入研究WiFi模块在环境可持续性方面的挑战和机遇&#xff0c;重点关注可再生能源的应用、材料创新以及碳足迹管理。 1. 可…

NB-IoT水表和LoRa水表有什么区别?

在众多物联网技术中&#xff0c;NB-IoT和LoRa脱颖而出&#xff0c;广泛应用于智能水表的制造。那么&#xff0c;这两种水表究竟有何区别呢&#xff1f;下面&#xff0c;小编来为大家详细的讲下NB-IoT和LoRa这两者的工作原理以及两者的区别之处&#xff0c;一起来看下吧&#xf…

图片路径名动态生成

写成这样也可以 :src"./src/assets/ScreenLeft/btn${isShowLeft ? Show : Hide}.png"为了节省开销&#xff0c;这种小图标&#xff0c;可以用i标签 const imgUrl ref("icon1");<iclass"w-50px h-50px":style"{backgroundImage: url(./…

老师们看过来,成绩发布原来可以这么简单

成绩发布不再让你头大&#xff01;不再需要每次都要手动查找学生成绩&#xff0c;浪费宝贵的休息时间!现在&#xff0c;只需要掌握一些小技巧&#xff0c;就能轻松实现学生自助查询成绩&#xff01; 引入数据库管理软件 可以引入一些数据库管理软件&#xff0c;例如MySQL、Pos…

Scala 泛型编程

1. 泛型 Scala 支持类型参数化&#xff0c;使得我们能够编写泛型程序。 1.1 泛型类 Java 中使用 <> 符号来包含定义的类型参数&#xff0c;Scala 则使用 []。 class Pair[T, S](val first: T, val second: S) {override def toString: String first ":" sec…

高压放大器的作用和优势是什么

高压放大器是一种专门用于放大高电压信号的设备&#xff0c;它具有许多重要的作用和优势。在以下的文章中&#xff0c;我们将详细介绍高压放大器的作用和优势。 高压放大器的作用之一是在实验室和工程应用中提供对高压信号的放大和控制。许多应用领域&#xff0c;如实验物理、电…

C/C++数据结构-链表-链表合并排序输出

文章目录 前言例题题解带头结点不带头结点 前言 这个小例题涵盖的知识点还是非常多的。包括链表的定义&#xff0c;链表的尾插法&#xff0c;链表的遍历&#xff0c;冒泡排序用链表实现。链表可以使用带头结点和不带头结点的形式&#xff0c;各有千秋。 本文完整版使用带头结点…