MySQL 学习笔记

MySQL是一个开源的关系型数据库,非常流行。

如无特殊说明,本专题文章的 SQL 均在 5.6 版本中验证。

👉文章列表
MySQL 学习笔记 ⏬ 创建和删除数据库 切换和查看数据库 创建和删除表 在表中增加、删除、修改列 添加和删除索引 增删查改 创建和删除主键 大小写和反引号 字符串类型值的大小写 SQL注释 CHAR类型 VARCHAR类型 整型数字 时间戳 不要使用utf8 唯一索引与NULL 唯一索引的单列长度限制 NULL的判等 DDL、DML、DCL的含义 查看表的状态 show table status InnoDB存储引擎的限制 if和case的使用 自定义函数 InnoDB 索引 事务 事务隔离级别的概念、查看和修改 读已提交(read committed)隔离级别下的锁 可重复读(repeatable read)隔离级别下的锁 修改自增主键id的类型 使用 load data 快速导入数据 使用 select into outfile 导出数据

MySQL: 事务


事务的4个特性:ACID

特性 英文 说明
原子性 Atomicity 一个事物内所有操作共同组成一个原子包,要么全部成功,要么全部失败
一致性 Consistency 事务将数据库从一种状态转变为下一种一致性状态。在事务开始之前和结束之后,事务的完整性约束没有被破坏。
隔离性 Isolation 事务之间不干扰。
持久性 Durability 事务一旦提交,其结果是永久性的。即使发生当即等故障,数据库也能叫数据恢复。

对于一致性的一种解释是,事务开始前和结束后,完整性约束没有被破坏,比如某一列要求每个数据具有唯一性,那么事务前后,无论有无新增数据,这一列的每列数据仍然具有唯一性。

另一种关于一致性的解释中更关注中间状态。一致性要求中间状态不被其他事务感知。但出于性能等方面考虑,不同的隔离性程度通过对一致性不同程度的破坏来提升性能和并发能力。

隔离性的程度,就是隔离级别。

存储引擎对事务的支持

  • MyISAM 不支持

  • InnoDB 支持


( 本文完 )

文章目录