MySQL

MySQL 事务的语法和流程

一、MySQL 存储引擎对事务的支持InnoDB:默认且最常用的存储引擎,支持事务。其事务实现主要依赖于 UNDO 日志和 REDO 日志。MyISAM:不支持事务。强调高速插入和检索,但不提供原子性、一致性等事务保障。BDB:支持事务,但现在已很少使用。二、核心日志机制1. UNDO Log (回滚日志)作用:用于事务回滚和多版本并发控制 (MVCC)。它记录

MySQL 存储程序中的变量

一、变量的定义 (DECLARE)语法:DECLARE var_name [, var_name2, ...] data_type [DEFAULT default_value];关键点:位置要求:`DECLARE` 语句必须放在 `BEGIN ... END` 块的开头,并且在所有其他可执行语句之前。默认值:如果未使用 `DEFAULT` 子句,变量的初始值为 `NULL`。作用域:

MySQL IS NULL 和 IS NOT NULL 查询

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

如何正确区分MySQL索引类型?

MySQL中索引的实现与存储引擎密切相关,不同引擎对索引类型的支持存在差异性。通常可以从三个层面来划分索引类别:物理存储结构(如聚簇与非聚簇索引)、逻辑约束类型(如主键、唯一、普通索引)以及实际应用特性(如全文索引、空间索引等)。这种分类方式体现了索引在数据组织、约束保障和功能特性上的多维特征。

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 支持 6 种位运算符,适用于权限系统、标志位处理等场景。一、位运算符概览运算符名称描述示例结果(十进制)|位或任一对应位为1则结果为15 | 37&位与两对应位都为1则结果为15 & 31^位异或对应位不同则结果为15 ^ 36~位取反所有位取反(0变1,1变0)

一口气教你学会为MySQL数据库更换字符集!

工作时,如果遇到乱码、或是业务扩展需要支持更多字符、或是系统迁移和升级,我们不可避免地遇到修改数据库字符集的需要。该这么进行修改呢?前面我们在《如何对默认字符集和校对规则进行修改?》已经很清楚地说了,ALTERDATABASE或ALTERTABLE命令对已经存在的数据没有作用,

MySQL 约束

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