数据库基础笔记(MySQL)6 —— 基础事务

事务

只与 DML 语句有关 ( 关于数据的 增删改 )
一个事务由一条或多条 DML 语句组成,一个事务在提交事务后才会将数据彻底修改到数据库中,再提交前,我们可以用回滚回到指定位置,相当于可以撤回错误操作

在 MySQL 中默认的为 自动提交事务 ,即每执行一条 DML 语句,就提交一次 ( 即不能回滚 ),直接修改在数据库中

事务操作

  1. 开启事务 : start transaction 或 set autocommit=off( 等于 0 也行 )
  2. 提交事务 : commit
  3. 回滚事务 ( 回滚到开启事务点 ) : rollback
  4. 标记事务过程中的保存点 : savepoint 标记名
  5. 删除标记点 : release savepoint 标记名
  6. 回滚事务 ( 回滚到指定标记点 ) : rollback to 标记名
  7. 设置事务隔离等级 ( 当前会话 ) : set session transaction isolation level 等级名 ;
  8. 设置事务隔离等级 ( 全局级 ) : set global transaction isolation level 等级名 ;
  9. 查看事务隔离等级 ( 当前会话 ) : select @@session.tx_isolation ;
  10. 查看事务隔离等级 ( 全局级 ) : select @@global.tx_isolation ;

事务的四个性质

原子性 ( A )

原子性是指事务过程中的操作,对数据的修改要么全部执行成功,要么全部失败,即相当于事务是最小的工作单元,不可再分

一致性 ( C )

一致性是指执行事务前后的状态要一致,可以理解为数据一致性
( 听大佬这么说 一致性强调的最终状态,要么是初始状态(有可能事务回滚了),要么是最终状态( 事务成功执行后 )。原子性,隔离性,持久性这三个特性是为了约束事务最终实现数据的一致性,我感觉,原子性和一致性虽然很像,但是一个强调的是操作,一个强调的是状态,我们对出数据的操作(原子性),对事务之间的隔离(隔离性),对最终状态的保存(持久性),都是为了完成数据的全部正确修改(一致性) )

隔离性 ( I )

不同的事务之间,具有一定的隔离等级,控制事务之间相互影响的程度( 可以设置隔离等级 )

持久性 ( D )

事务最终结束时,事务对数据的操作即被持久化地保存到数据库中,持久化地保存在硬盘上

事务之间的隔离性 ( 从低到高 )

如何简单的并发 ( 直接多开几个 MySQL 窗口就行了 )

读未提交 : read uncommitted

会导致脏读现象 ( 即会读到另一个事务未提交的数据 )

读已提交 : read committed

解决了脏读现象 ( 即只能读到其他事务提交之后的数据 )
但是出现了不可重复读现象 ( 即读取过程中,可能多次读取的数据不相同了,别的事务改变了数据 )
( 是 Oracle 默认的隔离级别 )

可重复读 : repeatable read

解决了不可重复读现象 ( 在事务开启后,每一次读取的数据都是相同的 )
但是出现了幻读现象 ( 即读到的数据可能已经不存在,或已经被修改了 )
( 是 MySQL 默认的隔离级别 )

序列化 ( 串行化 ) : serializable

解决了幻读现象 ( 直接关闭了并发,只能一个事务一个事务进行 )

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了,下面是我的回答: 聚类算法是一种无监督学习算法,它可以将数据集中的数据按照某种规则进行分组,使得同一组内的数据相似度较高,不同组之间的数据相似度较低。聚类算法可以帮助我们对数据进行分类、分析和理解,同时也可以为其他机器学习任务提供数据预处理和特征提取的支持。 聚类算法的基本流程包括:确定聚类算法的目标函数、选择相似度度量方法、选择聚类算法、确定聚类的数量、进行聚类操作以及评估聚类效果。常见的聚类算法包括K-Means算法、层次聚类算法、密度聚类算法等。 K-Means算法是一种基于距离的聚类算法,它的基本思想是将数据集中的数据划分为K个簇,使得同一簇内的数据相似度较高,不同簇之间的数据相似度较低。K-Means算法的优点是计算复杂度较低,容易实现,但是需要预先指定簇的数量和初始聚类中心。 层次聚类算法是一种基于相似度的聚类算法,它的基本思想是不断合并数据集中相似度最高的数据,直到所有数据都被合并为一个簇或达到预先设定的簇的数量。层次聚类算法的优点是不需要预先指定簇的数量和初始聚类中心,但是计算复杂度较高。 密度聚类算法是一种基于密度的聚类算法,它的基本思想是将数据集中的数据划分为若干个密度相连的簇,不同簇之间的密度差距较大。密度聚类算法的优点是可以发现任意形状的簇,但是对于不同密度的簇分割效果不佳。 以上是聚类算法的基础知识,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值