MySQL 数据表是用来存储和管理数据的容器,虽然它可以提供高效和高性能,但有时会发生记录或表内容不是我们希望的,且已经影响到业务,这时就需要把数据表中的数据清空。清空数据表后,我们还需知道如何恢复删除的数据。下面将详细说明如何清空和恢复MySQL 数据表。
一、清空MySQL数据表
要清空MySQL数据表,主要有两种方法:
1、使用TRUNCATE指令,用于快速清空表内容,语法如下:
TRUNCATE TABLE ;
TRUNCATE TABLE命令会清空表中的所有数据,不会记录在事务日志中,所以执行及时被彻底清除。
2、使用DELETE指令,用于清空一个表的全部数据,语法格式如下:
DELETE FROM
DELETE命令执行后,会先记录受影响的行数,然后再删除数据,所以这种方法比较缓慢但比较安全。
二、恢复MySQL数据表
对MySQL 数据表的恢复,有三种可用的方法
1、INSERT指令,用于为表添加新记录,语法如下:
INSERT INTO VALUES(值1,值2,……);
INSERT INTO 命令用于向表中添加新的记录,它会先检查现有表中是否有相同的记录,如果没有则添加;如果有,则报错不添加。
2、LOAD DATA INFILE导入存储数据,语法如下:
LOAD DATA INFILE INTO TABLE;
LOAD DATA INFILE 命令用于将一个纯文本文件(txt ,csv)中的数据导入到数据表中,从文件中载入的数据比使用SELECT语句从另一个表中载入的数据要快,但是这里的txt文件中的数据结构和数据表的字段结构必须一致,即列数必须一致,类型必须对应,如果不一致将会失败,另外要注意文件是从上往下更新的。
3、 REPLACE指令 替换既存的记录
REPLACE INTO VALUES(值1,值2……);
REPLACE INTO 用于替换原来的记录,与INSERT INTO 不同的是如果插入这些记录,在表中发现相同的主键(Primary Key),就将原来要替换的记录替换掉,而不是报错,从而实现更新表记录的功能。
总之,清空MySQL 数据表有两种方法:TRUNCATE指令和 DELETE指令,看应用场景而定;恢复MySQL 数据表有三种方法:INSERT指令,LOAD DATA INFILE 导入存储数据和 REPLACE指令替换既存数据,恢复、更新数据表也是MySQL数据表一个重要的操作类型。