zoukankan      html  css  js  c++  java
  • 什么是事务?

    • 事务的概念
      • 含义:事务由单独单元的一个或者多个sql语句组成,在这个单元中,每个mysql语句时相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条sql语句一旦执行失败或者产生错误,整个单元将会回滚,所有受到影响的数据将会返回到事务开始以前的状态;如果单元中的所有sql语句均执行成功,则事务被顺利执行。
      • 事务的属性
        • 原子性:一个事务不可在分割,要么都执行要么都不执行。
        • 一致性:一个事务的执行会使数据从一个一致状态切换到另一个一致的状态。
        • 隔离性:一个事务的执行不受其他事物的干扰
        • 持久性: 一个事务一旦提交,则会永久的改变数据库的数据
      • 事务的创建
        • 隐式事务:事务没有明显的开启和结束的标记
        • 显式事务:事务具有明显的开启和结束的标记 前提:必须先设置自动提交功能为禁用
        步骤1:开启事务
            set autocommit=0;
            start transaction;可选的
        步骤2:编写事务中的sql语句(select insert update delete)
              语句1
              语句2
        步骤3:结束事务
            commit;提交事务
            rollback;回滚事务
        
      • 数据库的隔离级别
        • 对于同时运行的多个事务,当这些事务访问数据库中的相同的数据时,如果没有采取必要的隔离机制就会产生并发问题: 脏读,不可重复读,幻读。
        • 数据库事务的隔离性:数据库系统必须具有隔离并发运行各个事务的能力,使他们不会相互影响避免并发问题。
        • 一个事物与其他事务隔离的程度称为隔离级别。隔离级别越高,,数据一致性就越好,但并发性就越弱。
        ```
        //mysql隔离级别查询
        select @@tx_isolation;
        ```
        
  • 相关阅读:
    PL/SQL Developer 远程连接oracle数据库
    Python 类与对象 __init__()参数
    微信公众号--发送模板消息
    微信公众号--进入菜单之前获取用户信息
    微信公众号-自定义菜单
    Java--时间转换
    微信公众号--被动回复用户消息
    {"errcode":40017,"errmsg":"invalid button type hint: [I8nq_a0783sha1]"}
    在使用XStream时没有processAnnotations方法
    在idea的控制台中中文显示为乱码
  • 原文地址:https://www.cnblogs.com/narojay/p/10812618.html
Copyright © 2011-2022 走看看