随笔分类 - SQL
摘要:最左前缀原则和覆盖索引相关问题 索引为abc,where里面和select里面是ac,需要回表吗 结论:不需要 最左前缀原则: WHERE a AND c 无法高效使用 (a,b,c) 中的 c 列(缺少 b),只能基于 a 定位后再过滤。 覆盖索引: 若查询字段全在索引中,则无需回表(否则需回表)
阅读全文
摘要:问题1 每个槽中一般是多少个数据 在数据库页(如InnoDB的数据页)中,每个槽(Slot)通常只对应一条记录,而不是多个记录。也就是说,槽与记录之间是 1:1 的关系。 槽(Slot)的作用 槽(Slot)是页目录(Page Directory)的一部分,用于快速定位记录的位置。它的工作方式类似于
阅读全文
摘要:20250713 页的文件头中最小值和最大值的作用 问题:页内是单链表,为什么记录了最小值,还要记录最大值,哪怕记录了最大值,也没法从最大值那反过来访问最大值的地址啊 在数据库存储引擎(如InnoDB)的页结构中,记录 最小记录(Infimum) 和 最大记录(Supremum) 是出于 逻辑边界定
阅读全文
摘要:20250713 数据库文件头尾字段长度差异解析 问题1 在页里面文件头和文件尾都有checknum和lsn,为什么文件头的checknum是4个字节,lsn是8ge字节,而文件尾只有8个字节 回答1 文件头有checknum和lsn,文件尾只有lsn 在数据库存储引擎(如 InnoDB)的设计中,
阅读全文
摘要:第04章 运算符 1. 算术运算符 1.1 基本算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 (+)、减(-)、乘(*)、除(/)和取模(%)运算。 运算符 名称 作用 示例 + 加法 计算两个值的和 SELECT A + B - 减法 计算两
阅读全文
摘要:第03章 基本的SELECT语句 1. SQL概述 1.1 SQL背景知识 SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言。 SQL有两个重要的标准:SQL92和SQL99。 1.2 SQL分类 DDL(Data Definition La
阅读全文
摘要:第01章 数据库概述 1. 为什么要使用数据库 持久化 (Persistence): 把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以“固化”,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要作用: 将内存中的数
阅读全文
摘要:第00章 写在前面,写在最后 一、MySQL数据库基础篇大纲 MySQL数据库基础篇分为5个篇章: 1. 数据库概述与MySQL安装篇 第01章:数据库概述 第02章:MySQL环境搭建 2. SQL之SELECT使用篇 第03章:基本的SELECT语句 第04章:运算符 第05章:排序与分页 第0
阅读全文
摘要:第08章 聚合函数 1. 聚合函数介绍 什么是聚合函数 聚合函数作用于一组数据,并对一组数据返回一个值。 聚合函数类型 AVG() SUM() MAX() MIN() COUNT() 聚合函数语法 SELECT [column,] group_function(column) ... FROM ta
阅读全文
摘要:MySQL基础课件笔记目录 第00章 写在前面,写在最后 [第00章 写在前面,写在最后]) 第01章 数据库概述 [第01章 数据库概述] 第02章 MySQL环境搭建 第03章 基本的SELECT语句 [第03章 基本的SELECT语句] 第04章 运算符 [第04章 运算符] 第05章 排序与
阅读全文
摘要:第07章 单行函数 1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提
阅读全文
摘要:第09章_子查询 讲师:尚硅谷·宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。 SQL中子查询的使用大大增强了SELECT查询的能力,因为很多时候查询需要从结果集中获取数据,或
阅读全文
摘要:SQL查询中NOT IN与NULL值问题 为什么加了IS NOT NULL就可以查出数据,否则查不出数据 在SQL查询中,NOT IN子句在处理包含NULL值的子查询时可能会出现意外行为。具体来说,当子查询返回的结果集中包含NULL值时,NOT IN条件可能会导致整个查询返回空结果集。 例如查询中:
阅读全文
摘要:SQL中WHERE与HAVING的别名使用区别 WHERE 和 HAVING 可以使用 SELECT 的声明的列的别名吗 在SQL中,WHERE 和 HAVING 子句对 SELECT 语句中声明的列别名的处理方式不同: 1. WHERE 子句: 不能使用 SELECT 中声明的列别名。 WHERE
阅读全文

浙公网安备 33010602011771号