>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 28594 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->面向对象开发方法概述之UML语言(下)
  JavaWeb开发-->JSP中使用JavaBean(Ⅰ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->基于UDP的数据报和套接字
  精通Spring-->绑定表单
  Vue3开发-->计算属性和数据监听
  秒懂 QPS、TPS、PV、UV、GMV、IP、RPS!
  零开始到用户超千万,系统压力暴增的情况下是如何一步步优化...
  实战:上亿数据如何秒查
  SQL查询语句练习题
  Mysql--所有版本安装以及完全卸载
  标准SQL的update语句三种用法
  SQL ROUND() 函数
  SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
  SQL FOREIGN KEY 约束
  SQL PRIMARY KEY 约束
  SQL CREATE DATABASE 创建数据库语句
  SQL INSERT INTO SELECT 语句
  深入浅出一致性Hash原理
  一次给朋友转账引发我对分布式事务的思考
  Mysql备份与恢复
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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