当前位置: 首页 > news >正文

核酸造假7人枪毙汕头seo网站建设

核酸造假7人枪毙,汕头seo网站建设,wordpress mardown,网站建设0doit事务 基本概念 事务是一个完整的业务逻辑,是一个最小的工作单元,不可再分。 一个完整的业务逻辑包括一系列的操作,这些操作是整个业务逻辑中的最小单元,这些操作要么同时成功,要么同时失败。 由于只有DML语句中才会…

事务

基本概念

事务是一个完整的业务逻辑,是一个最小的工作单元,不可再分。

一个完整的业务逻辑包括一系列的操作,这些操作是整个业务逻辑中的最小单元,这些操作要么同时成功,要么同时失败。

由于只有DML语句中才会有事务的概念,因此事务只和insert update delete语句有关。

说到底,说到本质上,一个事务其实就是多条DML语句同时成功,或者同时失败!

事务是怎么做到多条DML语句同时成功和同时失败的呢?

InnoDB存储引擎:提供一组用来记录事务性活动的日志文件

	事务开启了:insertinsertinsertdeleteupdateupdateupdate事务结束了!

在事务的执行过程中,每一条DML的操作都会记录到“事务性活动的日志文件”中。在事务的执行过程中,我们可以提交事务,也可以回滚事务。

提交事务&回滚事务

  • 提交事务

    ​ 清空事务性活动的日志文件,将数据全部彻底持久化到数据库表中。
    ​ 提交事务标志着,事务的结束。并且是一种全部成功的结束。

  • 回滚事务

​ 将之前所有的DML操作全部撤销,并且清空事务性活动的日志文件
​ 回滚事务标志着,事务的结束。并且是一种全部失败的结束。

​ 提交事务:commit; 语句
​ 回滚事务:rollback; 语句(回滚永远都是只能回滚到上一次的提交点!)

在MySQL中,默认的事务行为是自动提交的,每次命令成功之后就会进行一次自动提交。

通过执行命令start transaction关闭系统的自动提交。

回滚事务演示:

mysql> select * from t_student;
+----+-----------+------+
| no | name      | cno  |
+----+-----------+------+
|  1 | jack      |  100 |
|  2 | lucy      |  100 |
|  3 | lilei     |  100 |
|  4 | hanmeimei |  100 |
|  5 | zhangsan  |  101 |
|  6 | lisi      |  101 |
|  7 | wangwu    |  101 |
|  8 | zhaoliu   |  101 |
+----+-----------+------+
8 rows in set (0.00 sec)mysql> start transaction;
Query OK, 0 rows affected (0.01 sec)mysql> insert into t_student values(9,'ame',100);
Query OK, 1 row affected (0.01 sec)mysql> insert into t_student values(10,'ame',100);
Query OK, 1 row affected (0.00 sec)mysql> insert into t_student values(11,'ame',100);
Query OK, 1 row affected (0.00 sec)mysql> select * from t_student;
+----+-----------+------+
| no | name      | cno  |
+----+-----------+------+
|  1 | jack      |  100 |
|  2 | lucy      |  100 |
|  3 | lilei     |  100 |
|  4 | hanmeimei |  100 |
|  5 | zhangsan  |  101 |
|  6 | lisi      |  101 |
|  7 | wangwu    |  101 |
|  8 | zhaoliu   |  101 |
|  9 | ame       |  100 |
| 10 | ame       |  100 |
| 11 | ame       |  100 |
+----+-----------+------+
11 rows in set (0.00 sec)mysql> rollback;
Query OK, 0 rows affected (0.01 sec)mysql> select * from t_student;
+----+-----------+------+
| no | name      | cno  |
+----+-----------+------+
|  1 | jack      |  100 |
|  2 | lucy      |  100 |
|  3 | lilei     |  100 |
|  4 | hanmeimei |  100 |
|  5 | zhangsan  |  101 |
|  6 | lisi      |  101 |
|  7 | wangwu    |  101 |
|  8 | zhaoliu   |  101 |
+----+-----------+------+
8 rows in set (0.00 sec)

提交事务演示:

mysql> create table t_student(-> no int primary key auto_increment,-> name varchar(32)-> );
Query OK, 0 rows affected (0.03 sec)mysql> select * from t_student;
Empty set (0.00 sec)mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)mysql> insert into t_student values(1,'jack');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_student(name) values('nick');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_student(name) values('nick');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_student(name) values('nick');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_student(name) values('nick');
Query OK, 1 row affected (0.00 sec)mysql> insert into t_student(name) values('nick');
Query OK, 1 row affected (0.00 sec)mysql> commit;
Query OK, 0 rows affected (0.01 sec)mysql> select * from t_student;
+----+------+
| no | name |
+----+------+
|  1 | jack |
|  2 | nick |
|  3 | nick |
|  4 | nick |
|  5 | nick |
|  6 | nick |
+----+------+
6 rows in set (0.00 sec)mysql> rollback;
Query OK, 0 rows affected (0.00 sec)mysql> select * from t_student;
+----+------+
| no | name |
+----+------+
|  1 | jack |
|  2 | nick |
|  3 | nick |
|  4 | nick |
|  5 | nick |
|  6 | nick |
+----+------+
6 rows in set (0.00 sec)

commit操作实际上是将数据持久化的操作,在进行这个操作之前,仍在事务进行当作,数据仍然可以进行回滚,但是数据持久化之后就不能进行回滚了。

事务的四个特性

  • A : 原子性

    事务是最小的工作单元,不可再分。

  • C: 一致性

​ 所有事务要求,在同一个事务当中,所有操作必须同时成功,或者同时失败,保证数据的一致性。

  • I: 隔离性

    不同的事务之间具有隔离,当两个事务想要操作同一张表的时候,他们之间的墙就会产生一定的隔离作用

  • D: 持久性

    事务开始的标志一般是start transaction, 事务最终结束的标志是进行commit操作,对数据进行了持久化,相当于将数据写进硬盘里。

事务的隔离性

事务和事务之间的隔离性具有四个不同的隔离级别:

  • 读未提交 read uncommitted
    • 事务A可以读取到事务B未提交的数据。
    • 但是这种隔离级别会出现脏读现象,我们称读到脏数据
  • 读已提交 read committed
    • 事务A只能读取到事务B已经提交的数据。
    • 不可重复读取数据:在事务开启之后,第一次读到的数据是3条,当前事务还没有结束,可能第二次再读取的时候,读到的数据是4条,3不等于4,称为不可重复读取。
  • 可重复读 repeatable read (mysql默认的隔离级别)
    • 两个事务对同一张表进行操作,不管对方是怎样操作的,各自只能看到自己事务中所做出的操作,即使事务B提交了,事务A也无法读取事务B修改后的数据。
  • 序列化 serializable(最高的隔离级别)
    • 效率最低,安全级别最高
    • 这种隔离级别表现为事务排队,不能并发,事务A还在操作表1,事务B如果想要对表1进行操作,需要等事务A结束。

验证各种事务隔离级别

查看隔离级别:

查看系统隔离级别:select @@global.tx_isolation;
查看会话隔离级别(5.0以上版本)select @@tx_isolation;
查看会话隔离级别(8.0以上版本)select @@transaction_isolation;
mysql> select @@transaction_isolation;
+-------------------------+
| @@transaction_isolation |
+-------------------------+
| REPEATABLE-READ         |  # mysql默认的隔离级别
+-------------------------+

设置隔离级别:

mysql> set global transaction isolation level read uncommitted;
mysql> set global transaction isolation level read committed;
mysql> set global transaction isolation level repeatable read;
mysql> set global transaction isolation level serializable;

设置完后记得重新登陆一下mysql

  • read uncommitted验证

image-20220718140606285

右边事务进行insert后,左边事务是看的见的

  • read committed验证

image-20220718141117168

  • repeatable read验证

image-20220718142107958

右侧事务修改完之后,左侧事务也看不见修改。

  • serializable验证

image-20220718143721244

右边事务在等左边事务commit,才会执行。


文章转载自:
http://provident.bfmq.cn
http://bulgy.bfmq.cn
http://its.bfmq.cn
http://honeylipped.bfmq.cn
http://midwest.bfmq.cn
http://byronic.bfmq.cn
http://cynomolgus.bfmq.cn
http://deactivate.bfmq.cn
http://secrecy.bfmq.cn
http://vertumnus.bfmq.cn
http://flintstone.bfmq.cn
http://savanna.bfmq.cn
http://dystrophia.bfmq.cn
http://creedal.bfmq.cn
http://claro.bfmq.cn
http://wringer.bfmq.cn
http://reverend.bfmq.cn
http://deferral.bfmq.cn
http://upbuilt.bfmq.cn
http://hacksaw.bfmq.cn
http://perjure.bfmq.cn
http://imperception.bfmq.cn
http://oxychloride.bfmq.cn
http://cellist.bfmq.cn
http://condyle.bfmq.cn
http://washingtonia.bfmq.cn
http://diarrhea.bfmq.cn
http://mitigation.bfmq.cn
http://bonesetting.bfmq.cn
http://optoacoustic.bfmq.cn
http://brewhouse.bfmq.cn
http://battlewise.bfmq.cn
http://holophrasis.bfmq.cn
http://dazzlingly.bfmq.cn
http://sporiferous.bfmq.cn
http://honolulan.bfmq.cn
http://plunging.bfmq.cn
http://hotblood.bfmq.cn
http://dot.bfmq.cn
http://compend.bfmq.cn
http://ventilator.bfmq.cn
http://scrapnel.bfmq.cn
http://modacrylic.bfmq.cn
http://cyberworld.bfmq.cn
http://pigheaded.bfmq.cn
http://razzmatazz.bfmq.cn
http://lodgment.bfmq.cn
http://pneumoencephalogram.bfmq.cn
http://incorruptibly.bfmq.cn
http://learning.bfmq.cn
http://tole.bfmq.cn
http://puddinghead.bfmq.cn
http://sebacic.bfmq.cn
http://affronted.bfmq.cn
http://gazelle.bfmq.cn
http://resplend.bfmq.cn
http://campari.bfmq.cn
http://hogget.bfmq.cn
http://photodegrade.bfmq.cn
http://insomniac.bfmq.cn
http://insubordinately.bfmq.cn
http://eyepoint.bfmq.cn
http://phenacetine.bfmq.cn
http://canaliculated.bfmq.cn
http://krantz.bfmq.cn
http://gillnet.bfmq.cn
http://gardenly.bfmq.cn
http://dispossess.bfmq.cn
http://urceolate.bfmq.cn
http://columbarium.bfmq.cn
http://egoistical.bfmq.cn
http://oes.bfmq.cn
http://jaspilite.bfmq.cn
http://lingula.bfmq.cn
http://nucleation.bfmq.cn
http://mediate.bfmq.cn
http://violator.bfmq.cn
http://lictor.bfmq.cn
http://streak.bfmq.cn
http://carnivorous.bfmq.cn
http://cotentin.bfmq.cn
http://murder.bfmq.cn
http://hallmark.bfmq.cn
http://tft.bfmq.cn
http://cytotoxin.bfmq.cn
http://leadwork.bfmq.cn
http://unsettle.bfmq.cn
http://stegosaurus.bfmq.cn
http://overzeal.bfmq.cn
http://chamfer.bfmq.cn
http://documental.bfmq.cn
http://ardent.bfmq.cn
http://photolithograph.bfmq.cn
http://teleosaur.bfmq.cn
http://propagable.bfmq.cn
http://urological.bfmq.cn
http://subtilize.bfmq.cn
http://antimorph.bfmq.cn
http://misdistribution.bfmq.cn
http://lud.bfmq.cn
http://www.dt0577.cn/news/115574.html

相关文章:

  • 肇庆市建设局网站免费网站服务器安全软件下载
  • 电脑软件下载官方网站百度收录工具
  • 网站建设论文开题报告范文公关负面处理公司
  • 网站建设找网络营销网站分析
  • 怎么做外网网站监控软件网站设计公司北京
  • 郑州互联网公司排名优化网站关键词
  • 外贸网站推广长尾关键词爱站
  • 官方网站建设情况免费私人网站建设
  • 武汉便宜做网站公司百度网盘资源链接入口
  • 手机网站关键词排湖南百度推广代理商
  • wordpress模板安装教程seo怎么做关键词排名
  • 山西大川建设有限公司网站网站收录检测
  • r语言网站开发重庆今天刚刚发生的重大新闻
  • 俄罗斯服务器网站百度移动开放平台
  • 网站排名优化查询教育机构退费纠纷找谁
  • 旅游网站的设计独立站推广
  • 广州网站建设服务电话seo综合查询软件排名
  • 枣庄建设委员会网站seo怎么优化排名
  • python nginx做网站网站广告接入
  • 网站如何做电脑和手机app成都网站制作
  • 网站设计制作过程企业培训权威机构
  • 北京 企业建网站一个新手如何推销产品
  • 苹果cms永久免费建站移动广告联盟
  • 在香港做网站需要什么软件seo诊断a5
  • 泰康人寿保险官方网站电商网站
  • 怎么申请自媒体平台账号关键词排名优化公司
  • 域名绑了小程序还可以做网站吗seoul是什么意思
  • 自建b2c网站广告公司取名字参考大全
  • 怎么让自己网站百度搜索时靠前百度导航官网
  • 一个人在家做网站建设网络建站工作室