MySQL

MySQL IS NULL 和 IS NOT NULL 查询

基本概念在 MySQL 中,`NULL` 表示缺失或未知的值,它与空字符串 `''` 和数值 `0` 有本质区别。`IS NULL` 和 `IS NOT NULL` 是专门用于判断 `NULL` 值的关键字。基本语法查询字段为 NULL 的记录SELECT 字段列表 FROM 表名 WHERE 字段名 IS NULL;查询字段不为 NULL 的记录SELEC

MySQL 创建存储过程

一、 为什么使用存储过程?简化操作:将多步操作封装成一个命令。提高效率:一次编译,多次运行,减少网络传输。减少错误:集中处理业务逻辑,避免在应用程序中重复编写和出错。二、 创建存储过程的基本语法CREATE PROCEDURE <过程名> ( [过程参数[,…] ] )BEGIN <过程体>END;1.

分析添加索引对MySQL查询效率的影响

索引是数据库优化的基石。它通过创建高效的数据访问路径,避免了低效的全表扫描,从而极大提升了查询性能。对于大多数性能问题,添加合适的索引应是首选的解决方案。虽然索引并非万能灵药,但在优化时,优先考虑索引策略通常是最高效的方式。举个例子您就知道了: 1. 我们先准备一张dotcpp_user表格:2. 进行一次查询分析 寻找一名叫 dotcpp_us

MySQL 主键

主键约束是数据库设计中最重要的约束之一,您已经提供了非常全面的介绍。下面我将对主键约束进行系统性的总结和补充,并优化内容结构:主键约束核心特性1. 唯一标识:主键值必须唯一标识表中的每一行记录2. 非空性:主键列不允许为NULL值3. 单一性:每个表只能有一个主键约束4. 索引自动创建:主键会自动创建聚集索引(在InnoDB中)主键类型详解单字段主键定义方式一:在列定义时直

如何理解MySQL里的字符集和校对规则?

校对规则(Collation)是字符集内部定义的字符比较与排序规则。一个字符集可对应多种校对规则,且拥有一个默认规则。字符集与校对规则彼此依存,共同作用:字符集决定数据存储编码,校对规则决定数据比较逻辑。在字符集与校对规则的设计上,不同数据库存在理念差异。SQL Server 等数据库将二者耦合,选择字符集即隐含确定了其默认的校对规则。而 MySQL 则采用了显式解耦的设计,允许对字符集和校对规则

MySQL慢查询日志

慢查询日志是 MySQL 中最核心的性能诊断工具,用于记录执行时间超过指定阈值的 SQL 语句,帮助开发者和 DBA 定位性能瓶颈。一、查看慢查询日志状态在优化之前,首先检查当前慢查询日志的配置状态。查看慢查询日志是否开启及日志文件位置SHOWVARIABLESLIKE'slow_query_log%';查看慢

MySQL二进制字符串类型

二进制字符串类型分类MySQL支持两类字符型数据:1. 文本字符串2. 二进制字符串二进制字符串类型列表类型名称说明存储需求BIT(M)位字段类型大约 (M+7)/8 字节BINARY(M)固定长度二进制字符串M 字节VARBINARY(M)可变长度二进制字符串M+1 字节TINYBLOB非常小的BLOBL+1 字节,L<2^8BLOB小 BLOBL+2 字节,L&l

详细讲解MySQL锁机制按锁的粒度划分的三大类锁!

在《一张表格让你彻底学会MySQL锁机制中的三种核心锁类型!》中我们详细介绍了三种核心锁类型:共享锁、排他锁和意向锁。如果按照锁的粒度(Lock Granularity)划分(锁的粒度指的是锁定的数据范围大小),我们可以分成行级锁、页级锁和表级锁。接下来我们将着重介绍这三种锁:特性行级锁 (Row-Level Lock)页级锁 (Page-Level Lock)表级锁 (Table-Level L

MySQL 约束

MySQL 约束是确保数据库中数据完整性和有效性的重要机制。您已经很好地总结了 MySQL 支持的 6 种主要约束,下面我将进一步补充和扩展这些约束的相关知识:1. 主键约束 (PRIMARY KEY)每个表只能有一个主键主键列不能包含 NULL 值主键可以由单个列或多个列组合构成(复合主键)自动创建聚集索引CRE

如何理解SQL语句对应的文件操作?

本小节主要介绍SQL语句下映射的文件操作:1. 数据表查询机制在 MySQL 5.7 及更早版本中,所有存储引擎的数据表均会生成一个 .frm 文件,用于存储表结构元数据。因此,执行 SHOW TABLES 语句的本质是扫描数据库目录下的 .frm 文件并提取其基名,其结果与直接列出该目录下所有 .frm 文件名并去除后缀的操作完全一致。(注:MySQL 8.0 及以上版本已不再使用 .frm 文