MySQL事务管理
一、 MySQL 事务生命周期概览 1.1、总体概览 1. **开始事务**:通过 `BEGIN`、`START TRANSACTION` 或 `SET autocommit = 0` 开启事务 2. **执行 DML 操作**:执行多条数据修改语句(如 `INSERT`、`UPDATE`、`DELETE`) 3. **日志记录**:InnoDB 会分别写入 Undo Log(用于回滚)与 Redo Log(用于崩溃恢复) 4. **提交或回滚**: - `COMMIT`:写入 Redo Log 并刷新磁盘,正式提交 - `ROLLBACK`:读取 Undo Log,撤销所有操作 5. **崩溃恢复(异常场景)**:系统崩溃时,InnoDB 启动后通过 Redo Log 重做已提交事务、通过 Undo Log 回滚未提交事务 1.2、事务隔离级别 1.2.1、什么是读未提交? - 这是最低的事务隔离级别。在这个级别下,一个事务可以看到其他事务未提交的更改。例如,假设在银行系统中,用户 A 查看自己账户余额,此时用户 B...
MySQL一些语法相关
复习一下SQL的语法 一、先讲一讲SQL的分类 DDL (Data Definition Language) 数据定义语言,用来定义数据库对象(数据库,表,字段)。 DML (Data Manipulation Language) 数据操作语言,用来对数据库中的数据进行增删改。 DQL (Data Query Language) 数据查询语言,用来查询数据库中的表记录。 DCL (Data Control Language) 数据控制语言,用来创建数据库用户、控制数据库的访问权限。 OK,讲完了基础分类,下面逐个逐个进行讲解。 二、DDL语句—-数据定义语言,用来定义数据库对象(数据库,表,字段)2.1、数据库生命周期管理(对数据库的增删改)123456789101112-- 创建指定字符集的数据库CREATE DATABASE ecommerce CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 修改数据库配置(MySQL 8.0+)ALTER DATABASE ecommerceCHARACTER SET =...