MySQL复制表
    通常复制表所采用CREATE TABLE .... SELECT 方式将资料复制,但无法将旧表中的索引,约束(除非空以外的)也复制。
 
完整复制MySQL数据表所需步骤:
方式一
    1.使用SHOW CREATE TABLE 命令获取创建数据表的create table语句,语句会包含原表的结构,索引,存储引擎,字符集。
    2.更改其中的表名称,再执行create table语句。
    3.复制表的资料,使用INSERT INTO ... SELECT 语句。
方式二
    CREATE TABLE <table_name> LIKE <old_table>;
     INSERT INTO <table_name> SELECT * FROM <old_table>;
 
 
获取创建表的SQL语句:
mysql> show create table index_tab01\G
*************************** 1. row ***************************
       Table: index_tab01
Create Table: CREATE TABLE `index_tab01` (
  `id` int(11) NOT NULL DEFAULT '0',
  `col01` varchar(10) NOT NULL DEFAULT '',
  `col02` text,
  UNIQUE KEY `index_un` (`col01`),
  KEY `indx_01` (`col01`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
 
更改表名称,后执行创建语句:
mysql> CREATE TABLE `copy_tab01` (
    ->   `id` int(11) NOT NULL DEFAULT '0',
    ->   `col01` varchar(10) NOT NULL DEFAULT '',
    ->   `col02` text,
    ->   UNIQUE KEY `index_un` (`col01`),
    ->   KEY `indx_01` (`col01`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    -> ;
Query OK, 0 rows affected (0.01 sec)
 
复制表的资料
mysql> insert into copy_tab01 select * from index_tab01;
Query OK, 4 rows affected (0.01 sec)
Records: 4  Duplicates: 0  Warnings: 0
 
 
mysql> select * from copy_tab01;
+----+--------+---------------+
| id | col01  | col02         |
+----+--------+---------------+
|  0 | Name01 | This is Test! |
|  0 | Name02 | This is Test! |
|  0 | Name03 | This is Test! |
|  0 | Name04 | This is Test! |
+----+--------+---------------+
4 rows in set (0.00 sec)
 
mysql> select * from index_tab01;
+----+--------+---------------+
| id | col01  | col02         |
+----+--------+---------------+
|  0 | Name01 | This is Test! |
|  0 | Name02 | This is Test! |
|  0 | Name03 | This is Test! |
|  0 | Name04 | This is Test! |
+----+--------+---------------+
4 rows in set (0.00 sec)
 
方式二,复制完整的表
mysql> create table copy_tab02 like index_tab01;
Query OK, 0 rows affected (0.00 sec)
 
mysql> show create table copy_tab02\G
*************************** 1. row ***************************
       Table: copy_tab02
Create Table: CREATE TABLE `copy_tab02` (
  `id` int(11) NOT NULL DEFAULT '0',
  `col01` varchar(10) NOT NULL DEFAULT '',
  `col02` text,
  UNIQUE KEY `index_un` (`col01`),
  KEY `indx_01` (`col01`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
 
mysql> insert into copy_tab02 select * from index_tab01;
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0
 
mysql> select * from copy_tab02;
+----+--------+---------------+
| id | col01  | col02         |
+----+--------+---------------+
|  0 | Name01 | This is Test! |
|  0 | Name02 | This is Test! |
|  0 | Name03 | This is Test! |
|  0 | Name04 | This is Test! |
+----+--------+---------------+
4 rows in set (0.00 sec)
 
 
    
 

MySQL->复制表[20180509]的更多相关文章

  1. DB-MySQL:MySQL 复制表

    ylbtech-DB-MySQL:MySQL  复制表 1.返回顶部 1. MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TA ...

  2. MySQL 复制表

    MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本文将为大家介绍如何完整 ...

  3. 二十七、MySQL 复制表

    MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 本章节将为大家介绍如何完 ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL 复制表

    如果需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 如何完整的复制MySQL数据表,步骤如下: 使用 ...

  5. MySQL复制表-SELECT INTO FROM

    基础Table: mysql> select * from staff; +----+----------+-------+ | id | name | slary | +----+------ ...

  6. MySQL复制表-INSERT INTO SELECT

    基础table为: mysql> select * from staff; +----+----------+-------+ | id | name | slary | +----+----- ...

  7. MySQL复制表-CREATE SELECT

    假设存在以下Table: mysql> select * from staff; +----+----------+-------+ | id | name | slary | +----+-- ...

  8. mysql复制表

    create table 表名 like 要复制的表名  //复制表结构 insert into 表名 select * from 要复制的表名  //复制数据 方法2,一般不推荐,如果后台加数据,可 ...

  9. mysql-10临时表、复制表

    1.创建临时表 mysql临时表在我们需要保存一些临时数据时非常有用. 临时表只在当前连接可见,当关闭连接时,mysql会自动删除表并释放所有空间. 如果使用客户端创建临时表,只有在管不客户端程序时才 ...

  10. 【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

    之前我自己建立好了一个数据库xscj:表xs是已经定义好的 具体的定义数据类型如下: 为了复制表xs,我们新建一个表名为xstext,使用下列语句进行复制xs,或者说是备份都可以: create ta ...

随机推荐

  1. MySQL查询高速缓冲

    对mysql的优化不在行,搞过几次优化,但是都不是很理想,还是浪费资源太多.一直发现我的mysql的缓存命中率极差,情况良好的时候到达过60-70%,但是运行时间一长,只有10-20%.查了一些资料, ...

  2. springboot整合fastdfs实现上传和下载

    FastDFS_Client源码 https://github.com/tobato/FastDFS_Client 友情提示:由于FastDFS_Client这个源码不是很多,并且目前没有找到相关文档 ...

  3. 排查在 Azure 中新建 Windows VM 时遇到的部署问题

    尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. 当由于准备步骤不当,或者在从门户捕获映像期间选择了错误的设置而导致 OS 映像无法加载时,将发生预配失败. 当群集 ...

  4. CentOS7路由、端口和服务排障常用命令

    1. ip route   显示主机基本路由信息 ~]# ip route default via 172.25.0.254 dev eth0  proto static  metric 1024 1 ...

  5. Scratch3.0——克隆代码仓库的正确姿势

    原文地址:https://blog.csdn.net/weiwoyonzhe/article/details/86603450 对Scratch3.0进行二次开发,首先要在github上fock官方代 ...

  6. 通过Windows Server 2008 R2建立iSCSI存储

    名词解释:iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行 SCSI协议,使其能够在诸如高速千兆以太网上 ...

  7. 3、NPM使用

    内容:NPM介绍,安装web框架模块,一些基本命令 #####介绍NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:    • 允许用户从 ...

  8. JavaScript的DOM_动态加载脚本和样式

    一.动态加载脚本 当网站需求变大,脚本的需求也逐步变大.我们就不得不引入太多的 JS 脚本而降低了整站的性能,所以就出现了动态脚本的概念,在适时的时候加载相应的脚本. 1.动态加载js文件 比如:我们 ...

  9. MathUtils BigDecimal 数字工具类

    package com.hxqc.basic.dependency.util; import org.apache.commons.lang.StringUtils; import java.math ...

  10. Spring JPA 主键

    JPA主键生成器和主键生成策略 JPA中创建实体时,需要声明实体的主键及其主键生成策略.我们有一个实体类叫做Email,其主键上声明如下: @Id @Column(name = "EMAIL ...