MySql详解(六)

MySql事务

一、含义

事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行

二、特点(ACID)

A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行

C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态

I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的

D 持久性:一个事务一旦提交了,则永久的持久化到本地

三、事务的使用步骤 ★

了解:

隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete

显式事务:具有明显的开启和结束

使用显式事务:

①开启事务

set autocommit=0;

start transaction;#可以省略

②编写一组逻辑sql语句

注意:sql语句支持的是insert、update、delete

设置回滚点:

savepoint 回滚点名;

③结束事务

提交:commit;

回滚:rollback;

回滚到指定的地方:rollback to 回滚点名;

四、并发事务

1、事务的并发问题是如何发生的?

多个事务 同时 操作 同一个数据库的相同数据时

2、并发问题都有哪些?

脏读:一个事务读取了其他事务还没有提交的数据,读到的是其他事务“更新”的数据

不可重复读:一个事务多次读取,结果不一样

幻读:一个事务读取了其他事务还没有提交的数据,只是读到的是 其他事务“插入”的数据

3、如何解决并发问题

通过设置隔离级别来解决并发问题

4、隔离级别

              脏读 不可重复读 幻读

read uncommitted:读未提交   ×   ×     ×

read committed:读已提交   √    ×      ×

repeatable read:可重复读  √    √      ×

serializable:串行化     √   √       √

转载于:https://www.cnblogs.com/yujiwei/p/7943032.html

MySql详解(六)相关推荐

  1. mysql数据库视图备份_数据库篇-mysql详解( 六 )之视图与数据备份

    data.png 一 : 视图 视图: view, 是一种有结构(有行有列)但是没结果(结构中不真实存放数据)的虚拟表, 虚拟表的结构来源不是自己定义, 而是从对应的基表中产生(视图的数据来源). ( ...

  2. 大数据WEB阶段(六)MySql详解(二)

    MySql详解(二) 一.分组查询 语法: select col_name1,col_name2... from tb_name group by having ...; 练习: 执行下面的SQL,创 ...

  3. from mysql partition select_爬虫(九十九)mysql详解二

    **mysql中字段的常见类型: ** 二进制位 bit(长度) tinyint[(长度)] [有无符号unsigned] [位数低于长度时候是否填充零zerofill] 有符号表示范围-128 ~ ...

  4. MySql详解(四)

    MySql详解(四) MySql的DML操作 插入: 一.方式一 语法: insert into 表名(字段名,...) values(值,...); 特点: 1.要求值的类型和字段的类型要一致或兼容 ...

  5. 六轴机器人直角坐标系建立_详解|六轴机器人,SCARA机器人,直角坐标机器人和 Delta机器人...

    原标题:详解|六轴机器人,SCARA机器人,直角坐标机器人和 Delta机器人 一.六轴工业机器人 六轴工业机器人的最大的工作空间类似一个球体,它可以将机械手臂末端工具以几乎任意角度放置在接近无限数量 ...

  6. Mysql详解——索引优化

    本篇文章是对Mysql索引的创建以及优化进行一个介绍,关于索引的底层原理可以看我另一篇文章:Mysql详解--索引详解 文章目录 一.索引的创建和设计原则 1. 索引的声明和使用 1.1 索引的分类: ...

  7. 在虚拟机安装MySQL详解

    在虚拟机安装MySQL详解 MySQL是一种关系型数据库,原本是瑞典的公司叫MySqlAB公司,后被Oracle收购 DB:database,数据库,里边保存了有组织的规范的数据 DBMS:datab ...

  8. JPA+MySQL详解

    JPA+MySQL详解 首先明确两个端的关联关系,在java实体类定义中,含有mappedBy属性的时关系被维护端,含有关联字段的是关系维护端. 一.OneToOne关联关系 假设有实体People和 ...

  9. mysql 流复制_MySQL系列详解六:MySQL主从复制/半同步演示-技术流ken

    前言 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时数据库集群就很好的解决了这个问题了.采用MySQL分布式集群,能够搭建一个高并发.负载均衡的集群服务器.在 ...

最新文章

  1. Deepfake技术实现秒速换脸!!!
  2. 玩转Windows 7
  3. 浅谈Git的基本工作流程与简单的Git命令
  4. Java如何连接openvas_gas: chinese Gui for openvAS(GAS)
  5. SQL Server编程(06)触发器
  6. php 执行exec() 操作linux 命令
  7. iOS开发多线程-RunLoop
  8. android 音频配置文件,Android音频系统
  9. error loading python dll_Error loading Python DLL python36.dll 的解决办法 及其他pyinstaller问题...
  10. 一段程序结束等待进行下一段程序_c++实战篇(十二),debug调试程序
  11. storm和vgj vgj_VGJ改名J.Storm专注北美赛区 收编新队
  12. Android自定义view之ViewPager指示器——1
  13. 向eclipse中导入myeclipse项目
  14. python爬虫淘宝评论图片_淘宝上的图片是怎么被爬取的
  15. Kaggle注册无法进行人机验证You did not enter the correct captcha
  16. java swt浏览器_DJNativeSwing-SWT组件-Java GUI中内嵌浏览器
  17. XGBoost算法案例实战—— 金融反欺诈模型
  18. WinRM 如何设置 TrustedHosts
  19. 钉钉打新债自动提醒-python
  20. 2017秋招、春招、实习生招聘区别

热门文章

  1. Tree HDU - 6547 (树链剖分,线段树)
  2. linux桥接模式下配置静态ip
  3. 2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结
  4. win32汇编入门(一)
  5. 单元测试Struts2Spring项目的Action和Service(包含源码)
  6. MFC中STL容器中Vector,List,Map基本用法汇总
  7. MFC不能多线程操作控件的原因
  8. MFC SendMessage()函数传递字符串
  9. win32汇编指令汇总
  10. 用汇编的眼光看C++(之拷贝、赋值函数)