MySQL

事务

什么是事务

  1. 事务(TRANSACTLON)是作为单个逻辑工作单元执行的一系列操作

  2. 多个操作作为一个整体向系统提交,要么都执行,要么都不执行

  3. 事务是一个不可分割的工作逻辑单元

  4. 在保证当前一个逻辑有多个增删改操作时候的数据的一致性

  • 举个例子:转账的过程就是一个整体
  • 它需要两条UPDATE语句来完成,这两条语句是一个整体,如果其中任何一条出现错误,则将整个转账业务也应取消,两个账户中的余额应恢复到原来的数据,从而确保转账前转账后的余额不变,即都是1001元
  • 怎么能把多个增删改查绑定在一起需要执行的都执行,要不执行的都不执行,这就叫事务

  • 将一组SQL语句,将同一批次内去执行如果一个SQL语句出错,那这一组SQL都将被取消执行

事务的四大特征

事务必须具备以下四个属性,简称acid属性

  1. 原子性(Atomiclty)
    事务是一个完整的操作,事务的各部操作是不可分的(原子的),要么都执行,要么都不执行
  2. 一致性(Consistency)

    当前事务完成时,数据必须处于一致状态

  3. 隔离性(IsoIation)
    并发事务之间彼此隔离、独立,它不应该以任何方式依赖于影响其他事物

  4. 持久性(Durability)
    事务完成后,它对数据库的修改被永久保存

如何创建事务

MySQL中支持事务的存储引擎有lnnoDB和BDB

  • 语法:

  • 开始事务

    BEGIN; 或 START TRANSACTION;
  • 转账:100

    UPDATE stu SET tuition=tuition-100 WHERE sid=2;
    UPDATE stu SET  tuition=tuition+100 WHERE sid=1;
  • 提交事务:

    COMMIT;

  • 回滚事务(撤销)事务 退回到执行之前的状态

    ROLLBACK;

    关闭MySQL的自动提交 my.ini 配置文件 0:表示关闭 1:表示开启
    SET autocommit=0
     

数据库备份

数据库备份:

  • cmd中运行,不需要登录数据库,不能有分号,生成的SQL文件中不存在创建数据库的语句
     
  • mysqldump -u用户名 -pMiami 数据库名>脚本文件路径

恢复:

  • 方式一:cmd中运行,不需要登录,不能有分号

            mysql -u用户名 -p密码 数据库名<SQL文件路径

    例图:
  • 方式二:登录数据库 mysql -u用户名 -p密码    


            切换数据库 use 数据名


            恢复数据 source sql文件路径
  • DELETE FROM student;删除学生表后恢复
#创建数据库
CREATE DATABASE t128_test1;

#删除student表
DELETE FROM student;

可以通过事务回滚恢复student表
---------------------------------------------------------------------------
#自动提交关闭    
SET autocommit=0;

#开启事务
START TRANSACTION;

#删除student表
TRUNCATE TABLE student;

更新中~

未完待续~

个人笔记,如有错误还请指正。

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值