zoukankan      html  css  js  c++  java
  • MySQL的事务用法:

    注意:mysql数据支持事务,但是要求必须是innoDB存储引擎

    GRANT:授予访问权限

    REVOKE:撤销访问权限

    COMMIT:提交事务处理

    ROLLBACK:事务处理回退

    SAVEPOINT:设置保存点

    LOCK:对数据库的特定部分进行锁定

    start transaction / begin:开启事务

    事务的ACID特性:

    原子性(Atomicity):原子意为最小的粒子,或者说不能再分的事物。数据库事务的不可再分的原则即为原子性。 组成事务的所有SQL必须:要么全部执行,要么全部取消(就像上面的银行例子)。

    一致性(Consistency):在事务前/后应保持一致

    隔离性(Isolation):某个事务的操作对其他事务不可见

    持久性(Durability):事务提交完成后,其影响应该保留下来,不能撤消

    如何使用事务:

    (1)在执行sql语句之前,我们要开启事务 start transaction;

    (2)正常执行我们的sql语句

    (3)当sql语句执行完毕,存在两种情况:

    1,全都成功,我们要将sql语句对数据库造成的影响提交到数据库中,committ

    2,某些sql语句失败,我们执行rollback(回滚),将对数据库操作赶紧撤销

    数据库事务的隔离性:

    同时运行多个事务(多线程并发),当这些事务访问相同数据库时,如果没有采取隔离机制,就会导致各种问题。(共享数据的问题)

    脏读:更新事务却没有提交,之后,回滚事务,读取的内容就是临时且无效的

    不可重复读:两个事务,一个更新并提交了该字段,起一个再次读取同一个字段,值就不同了

    幻读:一个事务在该表中插入或删除一些行,之后,另一事务再去读取同一个表,就会多出或少了几行

  • 相关阅读:
    LINUX内核分析第三周学习总结——构造一个简单的Linux系统MenuOS
    Linux第二周学习总结——操作系统是如何工作的
    通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
    期末总结
    实验报告(实验五)
    HTTPServletResponse
    Eclipse 枚举类报错
    出现Unreachable code问题的原因
    myeclipse自动保存修改代码
    ssh连接虚拟机失败解决办法
  • 原文地址:https://www.cnblogs.com/sycl/p/13854515.html
Copyright © 2011-2022 走看看