九、事务

事务
 
DCL用来控制数据库的访问,其中有关事务的SQL语句有:
 
  • COMMIT:       提交事务处理
  • ROLLBACK:    事务处理回退
  • SAVEPOINT:  设置保存点
  • LOCK:           对数据库的特定部分进行锁定
 
 
 
一、事务的ACID特性
  • 原子性(Atomicity)
        数据库事务的不可再分原则。即组成事务的所有SQL必须:要            么全都执行,要不全不执行
  • 一致性(Consistency)
         指数据的规则,在事务前后应保持一致
  • 隔离性
         某个事务的操作对其他事务不可见
  • 持久性
        当事务提交完成后,其影响应该保留下来,不能撤销
 
## 其他需要注意的事项:
  • 只有InnoDB引擎支持的表才 支持事务操作
  • 默认情况下,MYSQL是自动提交事务的,且不能回滚。如果操作一个事务,在commit或者rollback后,之后的操作又自动提交
  • 和Orcal一样,DDL语句是不能回滚的,并且部分的DDL语句会造成隐式的提交,因此最好事务中不要涉及DDL语句。
    
二、事务对数据库的操作
 
    步骤主要分为以下三点
  • 开启事务
  • 执行SQL操作
  • 提交/回滚
    
    具体操作:
 
  • 开起手动处理事务模式
            set autocommit = false;
 
  • 开始事务(推荐)
            START TRANSACTION;
            BEGIN  (二选一);
 
  • 回滚
            rollback;
 
  • 提交
            commit;(回滚和提交同时只能执行一个)
 
  • 设置保存点
            savepoint point1;  (保存点必须设置在事务内)
 
  • 回滚到保存点
            rollback to point1;
 
 
 
posted @ 2020-10-22 21:27  别把最疼爱的人弄丢了  阅读(62)  评论(0编辑  收藏  举报