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. Ubuntu 安装 PhpMyAdmin 图文教程

    Ubuntu 安装 PhpMyAdmin 管理 MySQL 数据库 PhpMyAdmin 是一个用 PHP 编写的软件工具,可以通过 web方式控制和操作 MySQL 数据库.通过 phpMyAdmi ...

  2. synchronized修饰普通方法,修饰静态方法,修饰代码块,修饰线程run方法 比较

    synchronized用于多线程设计,有了synchronized关键字,多线程程序的运行结果将变得可以控制.synchronized关键字用于保护共享数据. synchronized实现同步的机制 ...

  3. 理解JMeter聚合报告(Aggregate Report)

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果 ...

  4. maven(14)-nexus仓库基本用法

    登录 启动nexus3,访问http://localhost:8081/  点击右上角sign in登录,默认用户名:admin  密码:admin123,登陆后可以点击右上角的admin,修改默认密 ...

  5. winfrom 实现窗体圆角

    在窗体中加入一下代码 #region 窗体圆角的实现 private void ComFrmBase_Resize(object sender, EventArgs e) { if (this.Win ...

  6. Python3.x urlib包

    在Python3.x中,我们可以使用urlib这个组件抓取网页,urllib是一个URL处理包,这个包中集合了一些处理URL的模块,如下: 1.urllib.request模块是用来打开和读取URLs ...

  7. os 模块 模块与包的初始

    os模块是与操作系统交互的模块之前我们也用过os模块就是更改文件的名字的时候 我们如果用os求求文件夹是不行的  可以求文件  因为文件夹在python中最大就是4090个字节 所以你必须求出文件夹内 ...

  8. Linux 配置samba服务实现与Windows文件共享

    目录: 1.samba服务介绍 2. 安装samba服务和客户端 3.samba配置文件详解 4.配置实例 5.客户端挂载与测试 6.samba排错 1.Samba服务介绍     Samba 最先在 ...

  9. 在Activities之间导航

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...

  10. ZT 理解class.forName()

    理解class.forName() 分类: [Java SE 基础] 2012-05-17 07:53 3892人阅读 评论(3) 收藏 举报 classloaderclassjdbcejb数据库 目 ...