mysql(开始提交撤销)事务与数据库的备份恢复(含实战练习)

本文深入探讨MySQL事务的ACID特性,通过实例演示如何开始、提交和撤销事务,确保数据的一致性和安全性。同时,提供了数据库备份与恢复的具体操作步骤,包括数据导出和导入的实战案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博文源于mysql基础,主要对事务与数据库的备份与恢复做相应学习与练习。包含开始/提交/撤销事务命令、数据库备份/恢复数据库实战。
在进行本章之前,需要创建数据库和数据表
创建数据库:

create database test_db;

然后创建数据表

use test_db;
 create table tb_students_info
    (id INT(11) PRIMARY KEY,
    name VARCHAR(10),dept_id INT(11),
   age INT(11),sex VARCHAR(4),height FLOAT,login_date DATE);

然后插入记录

 insert into tb_students_info values(1,'Dany',1,25,'F',160,'2015-09-10'); 
insert into tb_students_info values(2,'Green',3,23,'F',158,'2016-10-22');
insert into tb_students_info values(3,'Henry',2,23,'M',159,'2016-10-23');
 insert into tb_students_info values(4,'Jane',1,22,'F',156,'2016-10-12');
 insert into tb_students_info values(5,'Jim',1,24,'M',158,'2016-10-22');
 insert into tb_students_info values(6,'John',2,21,'M',152,'2016-10-24');
 insert into tb_students_info values(7,'Lily',6,22,'F',160,'2016-10-25');
 insert into tb_students_info values(8,'Susan',4,23,'F',166,'2016-10-26');
 insert into tb_students_info values(9,'Green',3,22,'M',170,'2016-10-27');
 insert into tb_students_info values(10,'Green',4,23,'M',193,'2016-10-23');

事务

事务是用户一系列的数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

为什么要使用事务

事务有四个特性被广为传颂:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability).这4个特性简称为ACID特性。

  • 原子性:就是看作一个不可分割的单位,称为原子工作单元,需要由恢复机制来实现。
  • 一致性:事务开始之前,数据库处于一致性的状态;事务结束后也将处于一致状态。比如:银行转账,转账前后总金额不变。
  • 隔离性:系统必须保证事务不受其他并发执行事务的影响,多事务运行时,互不干扰。
  • 持久性:一个已完成的事务对数据所做的任何变动在系统中是永久有效的,即使它本身产生的修改是错的。

开始事务

语法格式如下:

BEGIN TRANSACTION <事务名称> | @<事务变量名称>

提交事务

提交事务,意味着将事务开始以来所执行的所有数据修改成为数据库的永久部分,因此也标志着一个事务的结束。一旦执行了该命令,将不能回滚事务。

COMMIT TRANSACTION <事务名称> | @<事务变量名称>

撤销事务

ROLLBACK [TRANSACTION]
<事务名称>|@<事务变量名称>
|<存储点名称>|@<含有存储点名称的变量名>

数据库的备份恢复

相信应该了解删库跑路那种,背地里肯定做了备份,不然会被~~

数据库备份

格式:

SELECT INTO OUTFILE

把表数据导出到一个文本文件中进行备份

例子:将数据库test_db的表tb_students_info的全部数据备份到D盘目录下的stuent1.txt的文件中
select * into outfile 'D:/student1.txt' from test_db.tb_students_info;

在这里插入图片描述
如果报错了
在这里插入图片描述
查看这篇博文
MYSQL导入数据出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it

然后成功去d盘看文件
在这里插入图片描述

恢复数据库

例子:创建一个tb_students_copy表,将备份的文件导入到此表中。并select查看。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值