●事务的ACID(acid)属性

➢1.原子性(Atomicity )

原子性是指事务是-一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

➢2. 一致性(Consistency)

事务必须使数据库从一一个--致性状态变换到另外一一个--致性状态

➢3.隔离性(Isolation)

事务的隔离性是指一- 个事务的执行不能被其他事务干扰,即一一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

➢4.持久性(Durability)

持久性是指-一个事务-一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响

●事务的类型

 隐式事务: 事务没有明显的开启和结束的标记比如insert、update、 delete语句
delete from:    表where id =1;
显式事务: 事务具有明显的开启和结束的标记前提 , 必须先设置自动提交功能为禁用 
set autocommit = 0;
●事务的使用
#步骤一:开启事务
set autocommit = 0;
start transaction ; #可选的
#步骤二: 编写事务的sql语句(select , insert , update , delete)
SELECT * FROM sys;
...
#步骤三:结束事务
commit ; #提交事务
#rollback; #回滚事务,即使事务执行成功,表中数据也不会保存在磁盘中,但是会将事务中操作的表显示,类似于SELECT出来的表可以显示但是不会保存
●示例
1)成功执行
DROP DATABASE IF EXISTS human;
CREATE DATABASE IF NOT EXISTS human;
USE human;
CREATE TABLE man(
id INT PRIMARY KEY AUTO_INCREMENT ,
name VARCHAR(20) NOT NULL
); SET AUTOCOMMIT = 0;
START TRANSACTION;
insert man
VALUES (NULL,'archer'),(NULL,'saber'),(NULL,'lancer') ;
#insert man
#VALUES (NULL,NULL);
SELECT * FROM man;
COMMIT;
#ROLLBACK; #这里不进行回滚操作,如果需要回滚,那么将COMMIT注释并撤销这句的注释就好

2)失败执行(事务中部分语句无法执行,导致整个事务没有提交)

DROP DATABASE IF EXISTS human;
CREATE DATABASE IF NOT EXISTS human;
USE human;
CREATE TABLE man(
id INT PRIMARY KEY AUTO_INCREMENT ,
name VARCHAR(20) NOT NULL
); SET AUTOCOMMIT = 0;
START TRANSACTION;
insert man
VALUES (NULL,'archer'),(NULL,'saber'),(NULL,'lancer') ;
insert man
VALUES (NULL,NULL);#这条语句无法执行
SELECT * FROM man;
COMMIT;
#ROLLBACK;

SQL之事务的更多相关文章

  1. 人人都是 DBA(VI)SQL Server 事务日志

    SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...

  2. SQL Server事务的隔离级别

    SQL Server事务的隔离级别 ########## 数据库中数据的一致性 ########## 针对并发事务出现的数据不一致性,提出了4个级别的解决方法:  隔离级别  第一类丢失更新  脏读 ...

  3. Sql Server 事务隔离级别的查看及更改

    根据自身 Sql Server 的情况来自定义 事务隔离级别,将会更加的满足需求,或提升性能.例如,对于逻辑简单的 Sql Server,完全可以使用 read uncommitted 模式,来减少死 ...

  4. sql之事务和并发

    1.Transaction(事务)是什么: 事务是作为单一工作单元而执行的一系列操作.包括增删查改. 2.事务的种类: 事务分为显示事务和隐式事务: 隐式事务:就是平常我们使用每一条sql 语句就是一 ...

  5. 【SqlServer系列】浅谈SQL Server事务与锁(上篇)

    一  概述 在数据库方面,对于非DBA的程序员来说,事务与锁是一大难点,针对该难点,本篇文章视图采用图文的方式来与大家一起探讨. “浅谈SQL Server 事务与锁”这个专题共分两篇,上篇主讲事务及 ...

  6. SQL SERVER 事务的使用(tran)

    sql server事务的使用是为了确保数据的一致性. 通常写法 begin tran --sql 语句1 --sql 语句2 --sql 语句3 commit tran 上面写法存在隐患,当操作(增 ...

  7. 理解Sql Server 事务隔离层级(Transaction Isolation Level)

    关于Sql Server 事务隔离级别,百度百科是这样描述的 隔离级别:一个事务必须与由其他事务进行的资源或数据更改相隔离的程度.隔离级别从允许的并发副作用(例如,脏读或虚拟读取)的角度进行描述. 隔 ...

  8. SQL SERVER 事务和锁

    内容皆整理自网络 一.事务 作者:郭无心链接:https://www.zhihu.com/question/31346392/answer/59815366来源:知乎著作权归作者所有.商业转载请联系作 ...

  9. SQL Server 事务复制爬坑记

    SQL Server 复制功能折腾了好几天了,现特将其配置过程以及其间遇到的问题记录下来,以备日后查阅.同时,也让“同道”同学们少走不必要的弯路.如果有不对之处,欢迎大家指正,欢迎沟通交流. 一.复制 ...

  10. SQL Server事务回滚对自增键的影响

    SQL Server事务回滚时是删除原先插入导致的自增值,也就是回滚之前你你插入一条数据导致自增键加1,回滚之后还是加1的状态 --如果获取当前操作最后插入的identity列的值:select @@ ...

随机推荐

  1. Python3学习笔记(十七):requests模块

    官方中文文档:http://docs.python-requests.org/zh_CN/latest/

  2. redis 持久化 RDB

    https://blog.csdn.net/u010028869/article/details/51792197

  3. TCP主动打开 之 第一次握手-发送SYN

    tcp客户端与服务器端建立连接需要经过三次握手过程,本文主要分析客户端主动打开中的第一次握手部分,即客户端发送syn段到服务器端: tcp_v4_connect为发起连接主流程,首先对必要参数进行检查 ...

  4. GUI输入数据并保存

    from tkinter import * def write_to_file(): fileContent = open("deliveries.txt","a&quo ...

  5. tp5 多条件查询

    $where['rc_category_id'] = array('eq',$cid); $where['rc_territory_ids'] = ['like', '%'.$tid.'%']; $l ...

  6. 石川es6课程---12、Promise

    石川es6课程---12.Promise 一.总结 一句话总结: 用同步的方式来书写异步代码,让异步书写变的特别简单 用同步的方式来书写异步代码Promise 让异步操作写起来,像在写同步操作的流程, ...

  7. Python——语言基础

    1.数据类型 1.1.字符串 1.1.1.变量声明 1.1.2.相关函数 1.2.布尔类型 1.2.1.变量声明 1.2.2.相关函数 1.3.数字类型 1.3.1.变量声明 1.3.2.相关函数 1 ...

  8. 将一个SpringBoot工程打成jar包并在控制台执行起来

    JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ...

  9. 1、WebSphere Application Server的下载以及安装

    最近在做农行相关的项目,我们的后台需要发布到农行WebSphere Application Server上,因此学习一下: 一.WebSphere 是什么? WebSphere 为 SOA (面向服务 ...

  10. springboot2.0数据制作为excel表格

    注意:由于公司需要大量导出数据成excel表格,因此在网上找了方法,亲测有效. 声明:该博客参考于https://blog.csdn.net/long530439142/article/details ...