MySQL入门:事务、索引、备份和恢复

本文介绍了MySQL的事务管理,包括事务的特性、开启和隔离级别;详细讲解了视图的创建、删除及访问;阐述了索引的概念、类型和创建方法;最后讨论了数据库的备份与恢复操作,如mysqldump命令和mysql命令的使用。
摘要由CSDN通过智能技术生成

一、使用事务

1.什么是事务

事务(transaction)是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有命令作为一个整体一起向系统提交或撤销操作请求。事务是一个不可分割的工作逻辑单元。

事务是指将一系列数据操作捆绑成为一个整体进行统一管理。若是某一事务执行成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分,若是事务执行遇到错误而且必须取消或回滚,则数据将全部恢复到操作前的状态,所有数据的更改均会删除。

比方说转账问题,张三想把某一银行卡里的余额转给李四,那么我们就需要使用两条update语句(分别是修改张三账户和修改李四账户的SQL语句)进行修改他们账户的余额,但是在转账过程中某一环节出现了错误,导致张三账户的余额转出去了,但是李四账户余额并没有增加。

要知道之前的两条update语句是一个整体,若是有一条语句出现错误,那么转账这项事务就会取消,这就是我们为什么需要使用事务的机制来保证数据的一致性的原因。

2.事务的属性

事务由4个属性:原子性(atomicity)、一致性(consistency)、隔离性(isloation)、持久性(durability),通常被称为:ACID。

  • 原子性:事务是一个完整的操作,事务的各元素不可分割,即提交事务或回滚事务都是一个整体的状态,不能单独分开回滚或提交。
  • 一致性:完成事务时,数据的状态必须保持一致,即通过事务修改数据不能破坏数据完整性。
  • 隔离性:对数据进行修改的所有并发事务是彼此隔离的,事务必须独立,不能够依赖或影响其他事务。
  • 持久性:不管机器是否发生故障,只要事务完成,那么事务的效果就会永远保留在数据库中。

3.事务的前提

MySQL中提供了许多存储引擎来支持事务,支持事务的存储引擎有InnoDB和BDB。InnoDB存储引擎管理事务主要是通过UNDO日志和REDO日志实现,MyISAM存储引擎不支持事务。

UNDO日志:复制事务执行前的数据,用于在事务发生异常时回滚数据。

REDO日志:记录在事务执行中,对数据进行的每条更新操作,当事务提交时,该内容将被刷新到磁盘。

4.开启事务

mysql中,默认执行一条sql语句就是提交事务,即执行一条SQL语句自动调教。我们为了达到将几个操作作为一个整体的目的&#x

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值