0
点赞
收藏
分享

微信扫一扫

MySQL(16)事务


MySQL(1)CentOS彻底卸载MySQL

MySQL(2-1)CentOS安装MySQL详细操作

MySQL(2-2)CentOS7系统使用Docker安装mysql数据库

MySQL(3)MySQL中的数据类型和约束

MySQL(4)数据库常见操作命令详解

MySQL(5)数据表常见的操作命令详解

MySQL(6)数据表中数据的增删改查

MySQL(7)常用的基本查询命令详解

MySQL(8)常用的条件查询命令详解

MySQL(9)查询并排序详细用法

MySQL(10)聚合查询、分组查询、分页查询

MySQL(11)连接查询

MySQL(12)自关联(以省市县数据实例详解)

MySQL(13)子查询

MySQL(14)数据库的设计

MySQL(15)视图

MySQL(16)事务

MySQL(17)索引

MySQL(18)账户管理

1、事务简介

  • 所为事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位
  • 事务的特征(ACID):
  • 原子性(Atomicity)
    一个事务必须被视为一个不可分割的最小单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对弈一个事务来说,不可能值执行其中的一部分操作,这就是事务的原子性
  • 一致性(Consistency)
    数据库总是从一个一致性的状态转换到另一个一致性的状态
  • 隔离性(Isolation)
    通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的
  • 持久性(Durability)
    一旦事务提交,则其所做的修改会永久保存到数据库

2、事务的使用

  • 可以使用start transaction语句开始一个事务,然后要么使用commit提交将修改的数据持久化保存,要么使用rollback撤销所有的修改,事务的使用方法如下:

start transaction;
sql语句1;
sql语句2;
...
commit;

如下,即在数据中心开启事务,做了一条修改,但是暂时还没有执行commit操作

MySQL(16)事务_命令详解


此时另外打开一个窗口,连接到数据库之后查询,发现上面的修改并未生效

MySQL(16)事务_命令详解_02


在第一个窗口中执行commit提交操作

MySQL(16)事务_mysql_03


此时再到第二个窗口查看结果,此时发现已经发生了更新

MySQL(16)事务_mysql_04

如果在commit之前想放弃修改,使用rollback即可回滚

注意:mysql客户端默认每一条语句就是一个事务,如果只是一条语句,不需要显示的去开启事务,如果是多条语句,则需要显示的去开启事务,sql命令执行完成之后一定要执行commit命令,否则不会生效的。


举报

相关推荐

MySQL:事务

Mysql 事务

《MySQL》事务

mysql事务

MySQL【事务】

事务——MySQL

【MySQL】事务

0 条评论