在MySQL中操作克隆表的教程

 更新时间:2015年05月27日 09:53:35   投稿:goldensun  
这篇文章主要介绍了在MySQL中操作克隆表的教程,是Python入门学习中的基础知识,需要的朋友可以参考下

可能有一种情况,当需要一个完全相同的副本表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

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

相关文章

  • Mysql数据库监听binlog的开启步骤

    Mysql数据库监听binlog的开启步骤

    这篇文章主要给大家介绍了关于Mysql数据库监听binlog的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • MySQL的commit是如何commit源码解析

    MySQL的commit是如何commit源码解析

    这篇文章主要为大家介绍了MySQL的commit是如何commit源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • MySql带OR关键字的多条件查询语句

    MySql带OR关键字的多条件查询语句

    MySQL带OR关键字的多条件查询,与AND关键字不同,OR关键字,只要记录满足任意一个条件,就会被查询出来。即AND的优先级高于OR
    2017-07-07
  • 超详细mysql left join,right join,inner join用法分析

    超详细mysql left join,right join,inner join用法分析

    比较详细的mysql的几种连接功能分析,只要你看完就能学会的好东西
    2008-08-08
  • 详细谈谈MYSQL中的COLLATE是什么

    详细谈谈MYSQL中的COLLATE是什么

    mysql COLLATE是校对集的意思,可以理解为,排序规则等,下面这篇文章详细的给大家介绍了关于MYSQL中COLLATE是什么的相关资料,需要的朋友可以参考下
    2021-06-06
  • MySQL闪回(flashback)原理与实战

    MySQL闪回(flashback)原理与实战

    摘要: 本文将介绍闪回原理,给出笔者的实战经验,并对现存的闪回工具作比较。这是目前为止,MySQL 闪回领域第一篇全面深入的实战总结。
    2017-01-01
  • Linux下彻底卸载mysql详解

    Linux下彻底卸载mysql详解

    如何在Linux下彻底的卸载MySQL数据库呢? 下面这篇文章就给大家总结、整理了一下在Linux平台下彻底卸载MySQL的方法。 文中通过图文及示例代码介绍的很详细,相信对大家的理解和学习很有帮助,下面有需要的朋友们来一起学习学习吧。
    2016-11-11
  • mysql授予用户远程访问权限的实现

    mysql授予用户远程访问权限的实现

    在默认情况下,MySQL 数据库仅允许在本地主机上进行访问,如果您需要远程连接到 MySQL 数据库,您需要授予用户远程访问权限,本文就来
    2023-11-11
  • MySQL5.6基本优化配置

    MySQL5.6基本优化配置

    这篇文章主要介绍了MySQL5.6基本优化配置,详细分解了MySQL5.6需要优化的配置项,最终给出了一个优化案例,需要的朋友可以参考下
    2014-06-06
  • 细数MySQL中SQL语句的分类

    细数MySQL中SQL语句的分类

    下面小编就为大家带来一篇细数MySQL中SQL语句的分类。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11

最新评论