[MySQL]MySQL视图特性

news2024/11/23 10:23:18

[MySQL]MySQL视图特性

文章目录

  • [MySQL]MySQL视图特性
    • 1. 视图的概念
    • 2. 视图的基本操作
      • 创建视图
      • 删除视图
    • 3. 视图规则和限制

1. 视图的概念

  • 视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。
  • 基表是对查询结果建立视图形成的,因此视图的数据来源于基表。
  • 由于视图和基表用的本质是同一份数据,视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

2. 视图的基本操作

准备测试表:

下面给出员工表和部门表作为测试表,员工表中的ename代表的是员工的姓名,deptno代表的是员工所在部门的部门号。如下:

image-20230721210802266

部门表中的dname代表的是部门名,deptno代表的是部门的部门号。如下:
在这里插入图片描述

创建视图

语法:

create view 视图名 as select语句;
  • 创建视图时会先执行select语句,然后用查询得到的结果来创建视图。

创建视图示例:

  • 使用内连接的方式查询员工表和部门表,筛选条件是部门号相同:

image-20230721211541033

  • 对使用内连接的方式查询员工表和部门表的员工名和部门名,筛选条件是部门号相同的结果建立视图:

image-20230721211810693

  • 查看数据存储路径下的文件:

在数据库对应的目录下,增加一个对应的xxx.frm文件,但并没有与之对应的xxx.ibd文件,证明了视图和基表使用的是同一份数据。

  • 使用视图查询和使用内连接查询:

image-20230721212331702

  • 在视图中修改ename(SMITH)为ename(smith),再查看员工表:

image-20230721212629608

  • 在部门表中修改deptno为30的dname为test,再查看视图:

image-20230721212929717

删除视图

语法:

drop view 视图名;

删除视图示例:

image-20230721213214649

3. 视图规则和限制

  • 与表一样,必须唯一命名,不能出现同名视图或表名。
  • 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响。
  • 视图不能添加索引,也不能有关联的触发器或者默认值 。
  • 视图可以提高安全性,必须具有足够的访问权限 。
  • order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖 。
  • 视图可以和普通表一起使用,比如进行多表查询,内外连接等。

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

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

相关文章

Git标签管理(对版本打标签,起别名)

tag 理解标签创建标签git tag [name]git show [tagname] 操作标签删除标签git tag -d < tagname > 推送某个标签到远程git push origin < tagname > 理解标签 标签 tag &#xff0c;可以简单的理解为是对某次 commit 的⼀个标识&#xff0c;相当于起了⼀个别名。 …

数据库备份mysqldump、mydumper、xtrabackup

数据库备份&#xff0c;数据库为school&#xff0c;素材如下 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );创建sco…

《面试1v1》如何提高远程用户的吞吐量

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

FPGA配置文件从串并模式下载

FPGA配置文件的下载模式有5种&#xff1a; 主串模式&#xff08;master serial&#xff09;从串模式&#xff08;slave serial&#xff09;主并模式&#xff08;master selectMAP&#xff09;从并模式&#xff08;slave selectMAP&#xff09;JTAG模式 其中&#xff0c;JTAG模…

SQL 常见函数整理 _ SOUNDEX() 和 DIFFERENCE()

SOUNDEX() 1. 用法 是一种针对字符串进行音似匹配的函数。它将一个字符串作为输入&#xff0c;并返回一个代表该字符串音似编码的字符串。此编码可用于比较和匹配具有相似发音的字符串。 2. 基本语法 SOUNDEX(expression)其中&#xff0c;expression 是要进行音似编码的字符串…

后端排序优化——谁调用,谁排序

前言 为了使排序更加灵活&#xff0c;建议后端排序可以优化为“谁调用谁排序”。 代码实现 数据库设计 以学生表为例。 前端查询条件为姓名&#xff0c;住址。 Controller 简化后的controller层代码如下&#xff1a; /*** queryStudent[查询学生]* param name 姓名* param …

SQL优化——update优化

1.update优化 执行update语句的时候一定要根据索引字段进行更新&#xff0c;否则就会出现行锁升级为表锁的情况&#xff0c;锁住整张表&#xff0c;一旦锁表了并发性能就会受影响。 2.总结 sql优化事实上都是对索引进行优化

【Git】—— 解决分支合并冲突

在实际分⽀合并的时候&#xff0c;并不是想合并就能合并成功的&#xff0c;有时候可能会遇到代码冲突的问题。 为了演⽰这问题&#xff0c;创建⼀个新的分⽀ dev1 &#xff0c;并切换⾄⽬标分⽀&#xff0c;我们可以使⽤ git checkout - b dev1 ⼀步完成创建并切换的动作…

网卡收发包系统结构收发包流程,tcp/ip协议,socket套接字缓冲区,滑动窗口,mtu/mss

MTU和MSS的区别 MTU和MSS的区别 TCP 的 MTU & MSS MTU是在那一层&#xff1f;MSS在那一层&#xff1f; MTU是在数据链路层的载荷大小也就是传给网络层的大小&#xff0c;mss是在传输层的载荷大小也就是传给应用层的大小 mss是根据mtu得到的 1、MTU&#xff1a; Maximu…

矩阵置零(力扣)思维 JAVA

给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]] 输入&#xff1a;matrix [[0,1,2,0],[3,4,5,2],[…

Django项目之模型

Django项目之模型 创建环境配置连接MySQL数据库创建表单注册模型Django模型类查询模型类的条件查询聚合函数 创建环境 创建Django项目&#xff0c;创建usersapp&#xff0c;并在setting.py中注册 项目工作目录 配置连接MySQL数据库 修改/Djweb/Djweb/setting.py中DATABASE…

netty知识集锦2

粘包半包 粘包半包解决方案&#xff0c; 1短链接&#xff0c;它的消息边界是从链接建立到链接断开 2.定长解码器&#xff1a;服务器端选最大长度的消息作为定长&#xff0c;客户端不足补齐&#xff0c;缺点造成浪费 netty协议设计与解析 Message编码解码

[DASCTF 2023 0X401七月暑期挑战赛] REV1 controlflow复现

这东西没怎么研究过&#xff0c;不过很多人都完成了&#xff0c;不过这种比赛有很多应该是拿的别人的wp&#xff0c;所以减去些水份&#xff0c;赛后拿到一个wp是人c程序实现的。然后根据原代码还原一下加密流程。 首先是main 这里比较特殊&#xff0c;一开始的3个变量明显是加…

VS2010打开VC6工程进行调试时的问题解决方法

VS2010打开VC6工程进行调试时的问题解决方法 在工程属性页&#xff0c;“配置属性—链接器—输入—忽略特定默认库” 中添加编译时提示无法找到的几个lib库&#xff0c;如下图所示

【iOS】App仿写--管理系统

文章目录 前言一、账号界面二、功能界面三、添加功能四、删除功能五、更改功能六、查找功能七、排序功能八、退出功能总结 前言 在日常生活中&#xff0c;如果用文字来记述与管理我们数据会十分麻烦&#xff0c;并且人工成本较高&#xff0c;这里笔者给出一种管理系统的模版&a…

DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)

DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作&#xff09; 文章目录 DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作&#…

中医-十二经-图

&#x1f33c;十二经-图 &#x1f354;十二经&#x1f36d;任脉、督脉&#x1f957;冲脉、带脉&#x1f96a;阴维、阳维&#x1f368;资源下载 &#x1f354;十二经 &#x1f36d;任脉、督脉 &#x1f957;冲脉、带脉 &#x1f96a;阴维、阳维 &#x1f368;资源下载 如果需要…

SESSION,TOKEN和Postman的使用

SESSION&#xff1a;它是存储在服务端的 1、客户端输入账户和密码&#xff0c;登录成功&#xff0c;在服务端生成一个SESSIONID同时存储在服务端&#xff08;DB or Redis&#xff09; 2、服务端把生成的SESSIONID通过响应头中的Set-Cookie返回给客户端 3、再系统下个请求中&…

机器视觉运动控制快组态软件RTFuse在XYZ三轴运动平台的应用方案

一、RTFuse市场应用背景 面对工业自动化领域对视觉运动控制低代码、低门槛的市场应用需求日益增加&#xff0c;正运动特此推荐一款RTFuse快组态软件&#xff0c;以满足这一需求&#xff0c;使机器视觉运动控制项目开发变得更加简单易用。 RTFuse快组态软件&#xff0c;内置的…

GnuWin32,Windows下使用Linux命令

1. 前言 昨天我写了一篇 UnxUtils工具包&#xff0c;Windows下使用Linux命令 的文章&#xff0c;今天无意间又发现了 GnuWin32 &#xff0c;它提供Win32版本的GNU工具&#xff08;Linux下的命令基本都有&#xff09;。 你可以在 GnuWin32 Files 手动下载你想要的命令安装包。 …