视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
在MySQL中操作克隆表的教程_MySQL
2020-11-09 19:50:19 责编:小采
文档


可能有一种情况,当需要一个完全相同的副本表CREATE TABLE ... SELECT不适合需要,因为副本必须包含相同的索引,默认值,依此类推。

按下面的步骤,可以处理这种情况。

  • 使用SHOW CREATE TABLE得到一个CREATE TABLE语句中指定源表的结构,索引等。
  • 修改语句更改表名称的克隆表,并执行该语句。通过这种方式将有确切的克隆表。
  • 或者,如果需要进行表的内容复制,使用INSERT INTO ... SELECT语句也可以搞定。
  • 实例:

    试试下面的例子来创建一个克隆表tutorials_tbl
    步骤 1:

    有关表获取完整的结构

    mysql> SHOW CREATE TABLE tutorials_tbl \G;
    *************************** 1. row ***************************
     Table: tutorials_tbl
    Create Table: CREATE TABLE `tutorials_tbl` (
     `tutorial_id` int(11) NOT NULL auto_increment,
     `tutorial_title` varchar(100) NOT NULL default '',
     `tutorial_author` varchar(40) NOT NULL default '',
     `submission_date` date default NULL,
     PRIMARY KEY (`tutorial_id`),
     UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
    ) TYPE=InnoDB
    1 row in set (0.00 sec)
    
    ERROR:
    No query specified
    
    

    步骤 2:

    重命名此表,并创建另一个表

    mysql> CREATE TABLE `clone_tbl` (
     -> `tutorial_id` int(11) NOT NULL auto_increment,
     -> `tutorial_title` varchar(100) NOT NULL default '',
     -> `tutorial_author` varchar(40) NOT NULL default '',
     -> `submission_date` date default NULL,
     -> PRIMARY KEY (`tutorial_id`),
     -> UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
    -> ) TYPE=InnoDB;
    Query OK, 0 rows affected (1.80 sec)
    
    

    步骤 3:

    在执行步骤2的克隆数据库的表中。如果想从旧表中的数据复制,那么可以通过使用INSERT INTO... SELECT语句。

    mysql> INSERT INTO clone_tbl (tutorial_id,
     -> tutorial_title,
     -> tutorial_author,
     -> submission_date)
     -> SELECT tutorial_id,tutorial_title,
     -> tutorial_author,submission_date,
     -> FROM tutorials_tbl;
    Query OK, 3 rows affected (0.07 sec)
    Records: 3 Duplicates: 0 Warnings: 0
    
    

    最后,将有确切的克隆表。

    下载本文
    显示全文
    专题