MySQL 如何备份数据表

本文将介绍几种快速备份数据库表的方式。

使用 create table...as select 语句

要复制 MySQL 数据表,你可以使用 CREATE TABLE ... AS SELECT ... 语句。这将创建一个新的数据表,并将另一个数据表的内容复制到其中。以下是复制数据表的步骤:

(1)使用管理员权限登录到 MySQL 数据库。

(2)选择要复制的数据表所在的数据库。

-- 备份表
-- 源表:department_tree
-- 备份表:department_tree_20231222
CREATE TABLE department_tree_20231222 AS SELECT * FROM department_tree;

注意,这种方法只会复制数据表的内容,而不会复制表的结构(例如索引、触发器、存储过程等)。

使用 create table...like 语句

如果你需要复制整个数据表的结构和内容,可以使用 CREATE TABLE ... LIKE ... 语句创建一个空表,然后使用 INSERT INTO ... SELECT 语句将数据从原始表复制到新表中。例如:

-- 创建备份表 department_tree_20231222,该表与原表结构一直
CREATE TABLE department_tree_20231222 LIKE department_tree;

-- 将 department_tree 表中的数据复制到 department_tree_20231222 表
INSERT INTO department_tree_20231222 SELECT * FROM department_tree;

业精于勤,荒于嬉。——韩愈《进学解》
0 不喜欢
说说我的看法 -
全部评论(

在使用 CREATE TABLE ... LIKE 语句创建新表时,需要注意以下几点:

  1. 表结构复制:CREATE TABLE ... LIKE 语句将复制原始表的结构,包括列名、数据类型、约束等信息,但不包括数据。

  2. 索引和约束:CREATE TABLE ... LIKE 不会复制原始表的索引和约束,需要额外添加。

  3. 表选项:CREATE TABLE ... LIKE 不会复制原始表的表选项,如存储引擎、字符集等,需要手动设置。

  4. 表空间:如果原始表使用了特定的表空间,新表将会使用默认的表空间,需要手动指定表空间。

  5. 权限:新表将继承原始表的权限设置,需要确保新表的权限设置符合需求。

总之,在使用 CREATE TABLE ... LIKE 语句时,需要根据具体情况对新表进行额外的设置和调整,以确保新表符合预期的结构和要求。

回复:

非常感谢!

关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号