美文网首页
复制表结构和数据

复制表结构和数据

作者: 江R | 来源:发表于2022-08-18 18:18 被阅读0次

有时候我们需要清理一张表的所以数据,来测试某项功能,当测试完之后又需要恢复所以数据,那么就需要将这张表数据和结构进行备份了

网上搜索到复制表结构和数据都是

CREATE TABLE 表名 AS SELECT * FROM 表名_bak
#删除内容、释放空间但不删除定义,也就是数据表的结构还在
TRUNCATE TABLE  表名

如果只是进行备份,以上操作是完全够用的,如果还需要正常对备份表进行增删改查,那么备份不能如此简单粗暴。
以上方法只能将数据进行复制,关键字,主键自增AUTO_INCREMENT不会有。所以专门记录一下自己的方法和步骤。

一、首先需要创建一个和原表一样的备份表

CREATE TABLE 表名 (
`call_log_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`task_id` int(10) NOT NULL COMMENT '任务ID',
`content` varchar(1000) COLLATE utf8_bin DEFAULT '' COMMENT '备注',
`staff_id` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '处理人',
`create_time` int(11) NOT NULL COMMENT '记录创建时间',
`update_time` int(11) NOT NULL COMMENT '记录修改时间',
`extend` varchar(200) COLLATE utf8_bin NOT NULL COMMENT '扩展数据',
`after_handle_state` smallint(6) DEFAULT '0',
PRIMARY KEY (`call_log_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1604 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='XXX表';

二、将原表数据插入备份表

INSERT INTO表名 SELECT * FROM 表名_bak

如果将几张表数据插入到一张新表里,那么数据迁移完成之后,需要重新设置AUTO_INCREMENT值

ALTER TABLE 表名 AUTO_INCREMENT=53;

删除表

#删除表
DROP TABLE

相关文章

  • 2019-04-03# [C# 将一个DataTable的结构直

    DataTable.Clone();//仅复制表结构DataTable.Copy();//复制表结构及数据 Dat...

  • 表的复制

    1,只复制表结构create table 表名 like 被复制表名2,复制表结构和数据create tabl...

  • Oracle中复制表结构

    1.复制表结构以及数据备注:新表的默认值和索引不会被建立 2.只复制表结构,不复制数据 3.只复制数据 4.只复制...

  • DDL语言

    一、仅复制表的结构 create table copy like author; 二、复制表的结构+数据 crea...

  • mysql优化

    mysql表复制 复制表结构create table student like user; 复制表数据insert...

  • MySQL

    创建表 复制表(备份) 复制表的结构和数据create table 表名称 as select * from ...

  • 2019-08-09

    MySQL完整复制表到另一个新表 复制表结构 导入数据

  • SQL复制备份一张表

    1.复制表结构 2.导入数据 2.删除数据

  • SQL——复制表结构和数据

    1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表2.只复制表结构到新表...

  • mysql常用操作

    1.mysql客户端登陆 2.mysql导出数据库 3.导入数据库 4.复制表结构 5.复制表结构与内容 6.复制...

网友评论

      本文标题:复制表结构和数据

      本文链接:https://www.haomeiwen.com/subject/sxnegrtx.html