当前位置:网站首页>sql中TCL语句(事务控制语句)
sql中TCL语句(事务控制语句)
2022-07-01 06:17:00 【HHYZBC】
目录
TCL语句表示事务控制语言
- commit
- 事务提交
- rollback
- 事务回滚
虽然只有两条语句,但是却联系着MySQL中十分重要的一个点:事务。
事务
一个事务其实就是一个完整的业务逻辑。是一个最小的工作单元。不可再分。
只有DML语句才会有事务这一说,其它语句和事务无关!!!
- insert
- delete
- update
只有以上的三个语句和事务有关系,其它都没有关系。
因为 只有以上的三个语句是数据库表中数据进行增、删、改的。只要你的操作一旦涉及到数据的增、删、改,那么就一定要考虑安全问题。
数据安全第一位!!!
事务是怎么做到多条DML语句同时成功和同时失败的呢?
在InnoDB存储引擎:提供一组用来记录事务性活动的日志文件。在事务的执行过程中,每一条DML的操作都会记录到“事务性活动的日志文件”中。在事务的执行过程中,我们可以提交事务,也可以回滚事务。
提交事务
清空事务性活动的日志文件,将数据全部彻底持久化到数据库表中。提交事务标志着,事务的结束。并且是一种全部成功的结束。
输入commit命令表示提交事务
mysql默认情况下是支持自动提交事务的。并且是默认的,每执行一条DML语句,则提交一次!
输入start transaction;可以将自动提交机制关闭
回滚事务
将之前所有的DML操作全部撤销,并且清空事务性活动的日志文件回滚事务标志着,事务的结束。并且是一种全部失败的结束。
输入rollback命令表示回滚事务(回滚永远都是只能回滚到上一次的提交点!)
事务包括4个特性
简称ACIB
- 原子性
- 说明事务是最小的工作单元。不可再分。
- 一致性
- 所有事务要求,在同一个事务当中,所有操作必须同时成功,或者同时失败,以保证数据的一致性。
- 隔离性
- A事务和B事务之间具有一定的隔离。教室A和教室B之间有一道墙,这道墙就是隔离性。A事务在操作一张表的时候,另一个事务B也操作这张表会那样???
- 持久性
- 事务最终结束的一个保障。事务提交,就相当于将没有保存到硬盘上的数据保存到硬盘上!
隔离性
隔离性又有了4个级别
- 读未提交:read uncommitted(最低的隔离级别)
- 即是事务A可以读取到事务B未提交的数据。简单说就是没有提交就读到了
- 这种隔离级别存在的问题就是:脏读现象!(Dirty Read)我们称读到了脏数据。
- 这种隔离级别一般都是理论上的,大多数的数据库隔离级别都是二档起步!
- 读已提交:read committed
- 即是事务A只能读取到事务B提交之后的数据。简单说就是提交之后才能读到
- 解决了脏读的现象。但是又存在了不可重复读取数据的问题
- 在事务开启之后,第一次读到的数据是3条,当前事务还没有结束,可能第二次再读取的时候,读到的数据是4条,3不等于4称为不可重复读取。
- 这种隔离级别是比较真实的数据,每一次读到的数据是绝对的真实。
- oracle数据库默认的隔离级别是:read committed
- 可重复读:repeatable read
- 事务A开启之后,不管是多久,每一次在事务A中读取到的数据都是一致的。即使事务B将数据已经修改,并且提交了,事务A读取到的数据还是没有发生改变,这就是可重复读。简单说就是提交之后也读不到,永远读取的都是刚开启事务时的数据
- 解决了不可重复读取数据。但是可能会出现幻影读。每一次读取到的数据都是幻象。不够真实!
- mysql中默认的事务隔离级别就是这个!!!!!!!!!!!
- 序列化:serializable(最高的隔离级别)
- 又叫串行化
- 这是最高隔离级别,效率最低。解决了所有的问题。
- 这种隔离级别表示事务排队,不能并发!
- 每一次读取到的数据都是最真实的,并且效率是最低的。
- 又叫串行化
边栏推荐
- Linux closes the redis process SYSTEMd+
- FPGA - clocking -02- clock wiring resources of internal structure of 7 Series FPGA
- PLA not pasted on the bed: 6 simple solutions
- Geoffrey Hinton: my 50 years of in-depth study and Research on mental skills
- Infinite horizontal marble game
- SystemVerilog learning-08-random constraints and thread control
- 证券类开户有什么影响 开户安全吗
- Oracle create user + Role
- Self confidence is indispensable for technology
- Golang panic recover custom exception handling
猜你喜欢

Excel visualization

Solve the problem of garbled files uploaded by Kirin v10

Skywalking integrated Nacos dynamic configuration

解决麒麟V10上传文件乱码问题

Index method and random forest to realize the information of surface water body in wet season in Shandong Province

PLA不粘貼在床上:6個簡單的解决方案

jdbc 数据库操作

【网络安全工具】USB控制软件有什么用

图片服务器项目测试

Forkjoin and stream flow test
随机推荐
扩散(多源广搜)
[postgraduate entrance examination advanced mathematics Wu Zhongxiang +880 version for personal use] advanced mathematics Chapter II Basic Stage mind map
Save data in browser to local file
Self confidence is indispensable for technology
High order binary search tree
利用百度地图查询全国地铁线路
Skywalking integrated Nacos dynamic configuration
让厦门灌口镇田头村变“甜头”村的特色农产品之一是
[leetcode] day91- duplicate elements exist
MongoDB:一、MongoDB是什么?MongoDB的优缺点
Minio error correction code, construction and startup of distributed Minio cluster
C# ManualResetEvent 类的理解
Flink practice -- multi stream merge
Pol8901 LVDS to Mipi DSI supports rotating image processing chip
ManageEngine卓豪助您符合ISO 20000标准(四)
[summary of knowledge points] chi square distribution, t distribution, F distribution
Infinite horizontal marble game
交换机配置软件具有的作用
Make Tiantou village sweet. Is Xianjing taro or cabbage the characteristic agricultural product of Tiantou Village
数据库产生死锁了请问一下有没有解决办法