Mysql的高级语句3

目录

一、子查询

注意:子语句可以与主语句所查询的表相同,但是也可以是不同表。

1、select     in

1.1 相同表查询

1.2 多表查询

2、not in 取反,就是将子查询结果,进行取反处理

3、insert into      in       

4、update   set   in

5、delete

6、exists

7、as 别名

二、Mysql视图

1、视图的功能:

2、视图与表的区别

3、视图与表的联系

4、视图的应用

4.1创建一个视图表,并查询视图中的内容

4.2查看视图与源表结构

4.3修改视图表数据

4.4更改源表数据

三、null值

1、null值与空值的区别

2、演示

四、总结:

①视图多用于查看,增删改都不能在视图中使用

②mysql不支持在子查询中引用更新目标表的数据库,不允许用自己的数据来更新自己

③视图表与索引一样都是对mysql的优化操作,可以更快的查询。

④视图不占用实际的内存

⑤null是占用内存空间,但是不计入数据统计,而空值是不占内存空间,但是算是数据,会计入到数据统计中的。


一、子查询

子查询也被叫作内查询或者嵌套查询,是指在一个查询语句中还嵌套着另一个查询语句。而且子查询语句是被执行的,其结果作为外层的条件返回给主查询进行下一步的查询过滤。

注意:子语句可以与主语句所查询的表相同,但是也可以是不同表。

1、select     in

语法

select 字段1,字段2 from 表名1 where 字段 in (select 字段 from 表名 where 条件);
1.1 相同表查询

1.2 多表查询

2、not in 取反,就是将子查询结果,进行取反处理

3、insert into      in       

子查询也可以用在insert语句中,子查询的结果集可以通过insert语句插入到其他表中。

4、update   set   in

update语句也可以使用子查询,update内的子查询,在set更新内容时候,可以是单独的一列,也可以是多列。

5、delete

6、exists

exists关键字在子查询时候,主要用于判断子查询的结果集是否为空,如果不为空,则返回ture,反之则返回false

注意:在使用exists时,当子查询有结果时,不需要关心子查询的内容,执行主查询的操作;当子查询没有结果时,则不执行主查询操作。

7、as 别名

将结果集作为一张表进行查询的时候,需要用到别名

二、Mysql视图

视图是一张虚拟的表,这张虚拟表中不包含真实数据,只是做了真实数据的映射

1、视图的功能:

①简化查询结果集,灵活查询,可以针对不同用户呈现不同的结果集,相对会有更高的安全性

②本质而言,视图是一种select(结果集的呈现)

③注意:视图适合于多表浏览时使用,不适合增、删、改

2、视图与表的区别

①视图是已经编译好的sql语句,而表不是。

②视图没有实际的物理记录,而表有。

③表只用于物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改。

④视图式查看数据表的一种方法,可以查询数据表中的某些字段构成的数据,只是一些SQL语句的集合。从安全的角度来说,视图可以不给用户用于接触数据表,从而不知道表结构。

⑤表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。

⑥视图的建立和删除只影响视图本身,不影响对应的基本表。(但是更新视图数据,是会影响到基本表的)

3、视图与表的联系

视图是在基本表上建立的表,它的结构(即所定义的列)和内容(即所有的数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。

4、视图的应用

#创建视图
create view 视图表名 as select * from 表名 where 条件;
#查看视图
select * from 视图表名
#查看表状态
show table status\G
#查看视图结构
desc 视图表名
4.1创建一个视图表,并查询视图中的内容

4.2查看视图与源表结构

4.3修改视图表数据

当数据发生变化时,若数据与之前创建视图表时的关联条件不一致时,视图表的数据会发生变化。

4.4更改源表数据

三、null值

在使用SQL语句中,经常会碰到null这个次,通常使用null来表示缺失的值,也就是在表中该字段是没有值的。如果在创建表时,限制某些字段不能为空,则可以使用not null 关键字,不使用的话则默认可以为空。在向表中插入记录或者更新记录时,如果该字段没有not null并且没有值,这时候新纪录的该字段将被保存为null。需要注意的是,null的值与数字0或者空白(spaces)的字段是不同的,值为null的字段是没有值的。在SQL语句中,使用is null可以判断表内的某个字段是不是null值,相反的就用is not null可以判断不是null值。

1、null值与空值的区别

①空值长度为0,不占空间,null值长度为null,占用空间

②is null 无法判断空值

③空值使用‘=’或者‘<>’来处理(!=)

④count ()计算时,null会会略,空值会加入计算

⑤注意:null是占用空间内存的,而空值则不占用内存空间

2、演示

四、总结:

①视图多用于查看,增删改都不能在视图中使用

②mysql不支持在子查询中引用更新目标表的数据库,不允许用自己的数据来更新自己

③视图表与索引一样都是对mysql的优化操作,可以更快的查询。

④视图不占用实际的内存

⑤null是占用内存空间,但是不计入数据统计,而空值是不占内存空间,但是算是数据,会计入到数据统计中的。

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

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

相关文章

IO练习题

1&#xff1a;使用 dup2 实现错误日志功能 使用 write 和 read 实现文件的拷贝功能&#xff0c;注意&#xff0c;代码中所有函数后面&#xff0c;紧跟perror输出错误信息&#xff0c;要求这些错误信息重定向到错误日志 err.txt 中 #include <myhead.h>//文件IO实现文件拷…

实现offsetof宏以及交换一个整数二进制奇偶位的宏

目录 1. offsetof宏2. 交换奇偶位 1. offsetof宏 我们想用宏来实现offsetof函数,首先要了解这个函数的用法。 1.1 offsetof函数的介绍及用法 &#xff08;1&#xff09;功能&#xff1a;用来计算结构体中一个成员在该结构体中的相对起始位置的偏移量&#xff0c;单位是字节。 …

ClamAV:Linux服务器杀毒扫描工具

Clam AntiVirus&#xff08;ClamAV&#xff09;是免费而且开放源代码的防毒软件&#xff0c;软件与病毒码的更新皆由社群免费发布。ClamAV在命令行下运行&#xff0c;它不将杀毒作为主要功能&#xff0c;默认只能查出系统内的病毒&#xff0c;但是无法清除。需要用户自行对病毒…

C语言之位段

1.位段的声明 位段的声明和结构是类似的&#xff0c;有两个不同&#xff1a; 1.位段的成员必须是 int、unsigned int 或signed int 。 2.位段的成员名后边有一个冒号和一个数字。 比如&#xff1a; struct A {int _a:2;int _b:5;int _c:10;int _d:30; }; A 就是一个位段类型…

【上海大学计算机组成原理实验报告】二、数据传送实验

一、实验目的 了解在模型机中算术、逻辑运算单元的控制方法。学习机器语言程序的运行过程。通过人工译码&#xff0c;加深对译码器基本工作原理的理解。 二、实验原理 根据实验指导书的相关内容&#xff0c;本次实验所要用的CP226实验仪在手动方式下&#xff0c;运算功能通过…

LeetCode-热题100:160. 相交链表

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&…

Go语言学习Day6:数组与切片

名人说&#xff1a;莫愁千里路&#xff0c;自有到来风。 ——钱珝 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1. 数组① 什么是数组② 数组的声明③ 初始化数组的几种方式④ 遍历数组元素⑤ 数组为值类型⑥ 数…

pytest教程-21-失败重跑插件-pytest-rerunfailures

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest插件的基本使用方法&#xff0c;本小节我们讲解一下pytest用例失败重跑插件pytest-rerunfailures。 测试环境不稳定偶发接口超时&#xff08;和服务无关&#xff0c;纯粹是环境问题&…

【C语言】带你完全理解指针(四)函数指针的应用sqort函数的实现

前言&#xff1a; 本文主要是函数指针的重要应用&#xff0c;介绍qsort函数以及模拟实现这样一个不限制使用数据类型的快速排序函数。 回调函数 函数指针有一个非常大的作用就是实现回调函数。非常重要 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针&#xf…

python如何画奥运五环

绘制奥运五环主要涉及到Python中的turtle绘图库运用&#xff1a; 程序源代码为&#xff1a; import turtle turtle.width(10) turtle.color(black) turtle.circle(50) turtle.penup() turtle.goto(120,0) turtle.pendown() turtle.color(red) turtle.circle(50) turtle.penup()…

基于springboot酒店管理平台

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于酒店管理平台系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了酒店管理平台系统&#xff0c;它彻底改变了过…

坚持刷题|分发饼干

文章目录 题目思路代码实现实现总结主要步骤时间复杂度 扩展问题 Hello&#xff0c;大家好&#xff0c;我是阿月。坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天刷第一个贪心算法&#xff1a;分发饼干 题目 455.分发饼干 思路 要解决这个问题&#xff0c;可以使用…

Autodesk Maya 2025 mac玛雅三维动画特效软件

Autodesk Maya 2025 for Mac是一款功能强大、操作简便的三维动画软件&#xff0c;适用于电影、电视、游戏、建筑、工业设计、虚拟现实和动画等领域。无论是专业设计师还是初学者&#xff0c;都可以通过Maya 2025实现自己的创意和想法&#xff0c;创作出高质量的三维作品。 软件…

多尺度变换(Multidimensional Scaling ,MDS)详解

一、基本思想 MDS&#xff08;Multidimensional Scaling &#xff0c;MDS多维尺度变换&#xff09;是一种经典的降维算法&#xff0c;其基本思想是通过保持数据点之间的距离关系&#xff0c;将高维数据映射到低维空间中。 具体来说&#xff0c;MDS算法的基本步骤如下&#xff…

栈————顺序栈和链式栈

目录 栈 顺序栈 1、初始化顺序栈 2、判栈空 3、进栈 4、出栈 5、读栈顶元素 6、遍历 链式栈 1、初始化链式栈 2、断链式栈是否为空判 3、入栈(插入) ​编辑​编辑 4、出栈(删除) 5、读取栈顶元素 6、输出链式栈中各个节点的值&#xff08;遍历&#xff09; 栈 …

Express.js项目实战(1)—— 我的藏书馆

首先新建文件夹——myLibrary 在vscode中点击文件>点击 Duplicate Workspace(以工作区的方式打开文件夹myLibrary) 点击duplicate Workspace&#xff08;打开工作区&#xff09; 之后&#xff0c;会出现以下界面 点击打开文件夹&#xff0c;选择新建的文件夹&#xff0c;会出…

Vscode + PlatformIO + Arduino 搭建EPS32开发环境

Vscode PlatformIO Arduino 搭建EPS32开发环境 文章目录 Vscode PlatformIO Arduino 搭建EPS32开发环境1. Vscode插件安装2. 使用PlatformIO新建工程3.工程文件的基本结构4.一个基本的测试用例Reference 1. Vscode插件安装 如何下载vscode这里不再赘述&#xff0c;完成基本…

超低代码智能音频开发来了:XMOS宣布与DSP Concepts建立合作伙伴关系推动AIoT音频应用

人工智能和芯片供应商 XMOS 宣布与嵌入式音频软件专家 DSP Concepts 建立合作伙伴关系。该合作协议将允许音频开发人员将 XMOS 的高度确定性、低延迟的 xcore.ai 平台与 DSP Concepts 的 Audio Weaver 软件结合起来。该软件使用户能够利用多核算力以图形方式设计和调试音频和语…

EXCEL VBA与CSV的结合使用,提高多个CSV的处

EXCEL VBA与CSV的结合使用&#xff0c;提高多CSV的处理 1、首先创建一个文本文件&#xff0c;然后将copy *.csv 合并.csv粘贴&#xff0c;并重命名后缀未bat 2、将bat和多个CSV放一个路径下 3、双击运行合并.bat&#xff0c;运行完成会后生成合并.csv 4、将csv用Excel打开&…

ALPHA开发板上PHY网络芯片LAN8720

一. 简介 正点原子的开发板 ALPHA开发板&#xff0c;有线网络硬件方案所使用的也是最常用的一种方案&#xff0c;IMX6ULL芯片内部是自带 MAC网络芯片的&#xff0c;所以&#xff0c;也就是采用 "SOC内部集成网络MAC外设 PHY网络芯片方案"。 ALPHA开发板使用的PHY网…