>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20452 个阅读者 刷新本主题
 * 贴子主题:  MySQL 复制表 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-08-18 18:25:40     消息  查看  搜索  好友  邮件  复制  引用

  

MySQL 复制表

     如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。

    如果仅仅使用 CREATE TABLE ... SELECT 命令,是无法实现的。

    本文将为大家介绍如何完整的复制MySQL数据表,步骤如下:    
  • 使用 SHOW CREATE TABLE 命令获取创建数据表( CREATE TABLE)

    语句,该语句包含了原数据表的结构,索引等。
  • 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令

    将完全的复制数据表结构。
  • 如果你想复制表的内容,你就可以使用  INSERT INTO ... SELECT

    语句来实现。

范例

         尝试以下范例来复制表 javathinker_tbl 。

         步骤一:

         获取数据表的完整结构。

         mysql> SHOW CREATE TABLE javathinker_tbl \G;

*************************** 1. row ***************************

Table: javathinker_tbl

Create Table: CREATE TABLE `javathinker_tbl` (

  `javathinker_id` int(11) NOT NULL auto_increment,

  `javathinker_title` varchar(100) NOT NULL default '',

  `javathinker_author` varchar(40) NOT NULL default '',

  `submission_date` date default NULL,

  PRIMARY KEY  (`javathinker_id`),

  UNIQUE KEY `AUTHOR_INDEX` (`javathinker_author`)

) ENGINE=InnoDB

1 row in set (0.00 sec)

ERROR:

No query specified

         步骤二:

         修改SQL语句的数据表名,并执行SQL语句。

  mysql> CREATE TABLE `clone_tbl` (

  -> `javathinker_id` int(11) NOT NULL auto_increment,

  -> `javathinker_title` varchar(100) NOT NULL default '',

  -> `javathinker_author` varchar(40) NOT NULL default '',

  -> `submission_date` date default NULL,

  -> PRIMARY KEY  (`javathinker_id`),

  -> UNIQUE KEY `AUTHOR_INDEX` (`javathinker_author`)

-> ) ENGINE=InnoDB;

Query OK, 0 rows affected (1.80 sec)

         步骤三:

         执行完第二步骤后,你将在数据库中创建新的克隆表 clone_tbl。

         如果你想拷贝数据表的数据你可以使用  INSERT INTO... SELECT 语句来实现。

    mysql> INSERT INTO clone_tbl (javathinker_id,

    ->                        javathinker_title,

    ->                        javathinker_author,

    ->                        submission_date)

    -> SELECT javathinker_id,javathinker_title,

    ->        javathinker_author,submission_date

    -> FROM javathinker_tbl;

Query OK, 3 rows affected (0.07 sec)

Records: 3  Duplicates: 0  Warnings: 0

     执行以上步骤后,你将完整的复制表,包括表结构及表数据。







程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-14 08:50:01 重新编辑]
  Java面向对象编程-->Swing组件(上)
  JavaWeb开发-->Web运作原理(Ⅳ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->基于MVC和RMI的分布式应用
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->组合(Composition)API
  SSL知识简介
  数据库索引创建与优化
  Zabbix中文使用手册
  构建高大上的MySQL监控平台
  解决mysql问题:The server quit without updating PID file
  PostgreSQL pg_rewind实例--could not find previous WA
  打开黑盒:从 MySQL架构设计出发,看它是如何执行一条SQL语句...
  MySQL 运算符的用法
  MySQL 序列使用
  MySQL 安装
  SQL常用命令快速参考手册
  SQL CHECK 约束
  解决电脑网络受限制或无连接造成无法上网的方法
  CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例
  HTML5+JavaScript实现一个简单的音乐播放器
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。