MySQL

MySQL修改数据库

基本概念1. 数据库的字符集和校对规则是存在`db.opt`文件里的2. 可以用`ALTER DATABASE`命令来修改这些设置修改语法ALTER DATABASE [数据库名] { [DEFAULT] CHARACTER SET <字符集名> | [DEFAULT] COLL

MySQL 索引 (Index)

一、为什么需要索引?两种数据访问方式对比访问方式 工作原理 比喻 优点 缺点 1. 顺序访问 (Full Table Scan) 逐行扫描整个表,直到找到所有符合条件的记录。 逐页翻阅字典查找一个字。 实现简单。 效率极低。当表数据量巨大时,查询耗时无法接受。 2. 索引访问 (Index Lookup) 首先在索

MySQL日志系统全面解析

一、四大核心日志对比日志类型主要用途默认状态性能影响文本/二进制关键配置参数错误日志记录启动、关闭、运行错误信息开启低文本log_error,log_warnings二进制日志数据复制、Point-in-Time恢复关闭中-高二进制log_bin,binlog_format通用查询日志记录所有客户端连接和SQL操作关闭高文本general_log,&

MySQL LIKE 模糊查询

基本语法SELECT 字段列表FROM 表名WHERE 字段名 [NOT] LIKE '模式字符串';通配符详解1. 百分号 `%` - 匹配任意多个字符(包括0个)使用场景:查找以'T'开头的名字SELECTnameFROMstudentsWHEREnameLIKE&n

最基础的MySQL物理备份形式 - 冷备份

在《MySQL 备份类型》一节曾提到过过冷备份,冷备份(即离线备份)是MySQL中最简单的备份方式,操作时仅需将数据库的物理文件完整复制至其他存储路径即可完成。冷备份通过直接复制数据库的物理文件实现,操作简单且能保证备份完整性,恢复速度较快。但进行备份时必须停止MySQL服务器,这将导致服务中断、用户无法访问,因此通常仅适用于非核心或可容忍停机的业务场景。冷备份的优点如下:优点缺点备份与恢复简便高

MySQL 存储程序中的变量

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

MySQL 创建存储过程

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

MySQL 数据插入操作

基本语法形式MySQL 提供了两种主要的 INSERT 语句语法形式:1. INSERT...VALUES 语句INSERT INTO <表名> [<列名1>, <列名2>, ...]VALUES (值1, 值2, ...), (值1, 值2, ...), ...;2. INSERT...SET 语句INSERT INTO <表名>SET

MySQL 事务的语法和流程

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

MySQL 检查约束 (CHECK)

检查约束核心特性1. 数据验证:确保列值满足指定条件2. 表达式支持:可使用各种SQL表达式3. 多列验证:支持基于表的约束验证多列关系4. 版本支持: MySQL 8.0.16+ 原生支持并强制执行CHECK约束 早期版本会解析但不强制执行检查约束操作详解创建表时定义检查约束单列检查约束:CREATE