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. PHP两种实现无级递归分类的方法

    /** * 无级递归分类 TP框架 * @param int $assortPid 要查询分类的父级id * @param mixed $tag 上下级分类之间的分隔符 * @return strin ...

  2. alembic 数据库管理

    alembic简介 Alembic是SQLAlchemy作者编写的Python数据库迁移工具 安装 pip install alembic alembic 操作流程 初始化 alembic init ...

  3. 毕向东_Java基础视频教程第20天_IO流(15~17)

    第20天-15-IO流(打印输出流) 打印输出流:PrintWriter与PrintStream 两者的区别:Since JDK 1.4 it's possible to specify the ch ...

  4. c# 操作临时数据---XML操作

    class Config { static string path; /// <summary> /// 配置文件的路径 /// </summary> public stati ...

  5. C#写入文本文档

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. C/C++面试问题分类大汇总 ZZ 【C++】

    http://www.mianwww.com/html/2014/05/21208.html 指针和引用的区别 指针指向一块内存,它的内容是指向内存的地址:引用是某内存的别名 引用使用是无需解引用,指 ...

  7. Java学习---XML的读写操作

    DOM4_Jwriter.java package com.ftl.xmlparse; import java.io.File; import java.io.FileNotFoundExceptio ...

  8. 无法用Put方式请求发布在IIS中的WebAPI

    WebApi程序发布到IIS上后,无法使用Put的方式进行请求,错误信息如下:             原因和解决方案:   在IIS中默认不支持Put请求和Delete请求,因为IIS中注册的Web ...

  9. 第八次作业——windows各种基本应用的命令处理方法

  10. HTTP协议图--HTTP 报文首部之首部字段(重点分析)

    1.首部字段概述 先来回顾一下首部字段在报文的位置,HTTP 报文包含报文首部和报文主体,报文首部包含请求行(或状态行)和首部字段. 在报文众多的字段当中,HTTP 首部字段包含的信息最为丰富.首部字 ...