MySQL 中使用 命令行 复制表结构及数据的方法主要有以下几种:

1、只复制表结构

CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2;

或者:

CREATE TABLE new_table LIKE old_table;

注意: 上面两种方式,第1种方式是 复制时,主键类型和自增方式是不会复制过去的;而第2种是把 old_table 的所有字段类型都复制到。

2、复制表结构和数据

CREATE TABLE new_table SELECT * FROM old_table;

3、复制旧表中的数据到新表中(假设:两个表的表结构是一样的)

INSERT INTO new_table SELECT * FROM old_table;

注意: new_table 表必须已存在。 若不存在,则可以用 第1种方式复制表结构: CREATE TABLE new_table LIKE old_table;

实例演示 :

mysql> create table tab_result_2020 like tab_result;
Query OK, 0 rows affected (0.24 sec) mysql> desc tab_result_2020;
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| lotteryid | int(11) | NO | PRI | NULL | |
| lotteryissue | varchar(12) | NO | PRI | NULL | |
| ballid | varchar(10) | NO | PRI | NULL | |
| source | varchar(100) | NO | PRI | NULL | |
| hteam_half_score | varchar(30) | YES | | NULL | |
| vteam_half_score | varchar(30) | YES | | NULL | |
| hteam_full_score | varchar(30) | YES | | NULL | |
| vteam_full_score | varchar(30) | YES | | NULL | |
| result | varchar(10) | YES | | NULL | |
| addtime | datetime | YES | | NULL | |
| status | int(10) | YES | | NULL | |
| spv | varchar(30) | YES | | NULL | |
| spv_ext | varchar(30) | YES | | NULL | |
| cron_times | int(10) | YES | | NULL | |
| error_times | int(10) | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+
15 rows in set (0.01 sec) mysql> desc tab_result;
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| lotteryid | int(11) | NO | PRI | NULL | |
| lotteryissue | varchar(12) | NO | PRI | NULL | |
| ballid | varchar(10) | NO | PRI | NULL | |
| source | varchar(100) | NO | PRI | NULL | |
| hteam_half_score | varchar(30) | YES | | NULL | |
| vteam_half_score | varchar(30) | YES | | NULL | |
| hteam_full_score | varchar(30) | YES | | NULL | |
| vteam_full_score | varchar(30) | YES | | NULL | |
| result | varchar(10) | YES | | NULL | |
| addtime | datetime | YES | | NULL | |
| status | int(10) | YES | | NULL | |
| spv | varchar(30) | YES | | NULL | |
| spv_ext | varchar(30) | YES | | NULL | |
| cron_times | int(10) | YES | | NULL | |
| error_times | int(10) | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+
15 rows in set (0.01 sec)

从 tab_result 表中复制数据到 tab_result_2020 表中:

mysql> select count(*) from tab_result where addtime like '2020-%';
+----------+
| count(*) |
+----------+
| 337760 |
+----------+
1 row in set, 1 warning (0.30 sec) mysql> insert into tab_result_2020 select * from tab_result where addtime like '2020-%';
Query OK, 337760 rows affected, 1 warning (12.85 sec)
Records: 337760 Duplicates: 0 Warnings: 0

4、复制 旧表中的数据到新表中(假设:两个表的表结构不一样)

INSERT INTO new_table(filed1, filed2, ...) SELECT  filed1, filed2, ... FROM old_table;

注意: new_table 和 old_table 两个表的字段必须一致,否则会出现数据转换错误。

MySQL 复制表(表结构、表结构和数据)的更多相关文章

  1. MySQL复制同一个服务器的表结构和表数据

    例如,现在服务器上有数据库 dbx 和 dby,dbx中有很多表,要把dbx中的表全部复制到dby,如下操作: 首先: use dby; [复制表结构] CREATE TABLE user LIKE ...

  2. MySQL 复制已存在的表生成新表

    从已有的表创建一个新的空表 CREATE TABLE new_table LIKE old_table; 注意: create table ... like 创建的表会保留原有表的字段.索引的定义,但 ...

  3. 14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制:

    14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制: MySQL 复制工作对于InnoDB 表和对于MyISAM表. 它是可能使用复制的方式 存储引 ...

  4. MySQL 复制表结构

    200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...

  5. mysql 复制表结构、表数据的方法

    From: http://blog.163.com/yaoyingying681@126/blog/static/109463675201191173221759/ MySQL 添加列,修改列,删除列 ...

  6. mysql复制表结构及检查表、存储过程是否存在

    mysql命令行复制表结构的方法: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2  或者 CREATE TABLE 新表 LIKE 旧表 ...

  7. MySQL复制表结构表数据

    MySQL复制表结构 表数据 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete ...

  8. mysql复制表数据或表结构到新表中

    MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制表结构到新表 C ...

  9. Mysql 复制表结构 及其表的内容

    顺便转一下Mysql复制表结构.表数据的方法: 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们 ...

  10. mysql复制表结构create table as和like的区别

    对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 ...

随机推荐

  1. AOP理论

    目录 AOP理论 什么是AOP 那Spring AOP,AspectJ又是啥呢? 为什么说AOP是OOP的补充和完善呢? 应用场景举例 AOP的优点 AOP的术语整理 AOP理论 什么是AOP AOP ...

  2. Avtiviti工作流规范 BPM与BPMN

    进过长时间的轮转,重拾Activiti,因为最近在智联上看到多家公司的需求上写的,都要熟悉工作流引擎,也就是activiti所以重拾 之前看的视屏是activiti5,我觉得版本有点低,所以打算看一下 ...

  3. MySQL互联网业务使用建议

    一.基础规范 表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储 ...

  4. Ubuntu 安装配置 WordPress5.4.2

    一.安装 Apache 并配置 WordPress sudo apt-get install apache2 -y //  安装 apache2 sudo apt-get install php -y ...

  5. 《Redis内存数据库》Redis环境搭建

    前言 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多 ...

  6. 查看windows和linux下端口是否被占用

    1.windows cmd输入netstat -ano |findstr "端口号" 查看到1202端口被使用的进程PID是10692 输入tasklist |findstr 10 ...

  7. oracle之三rman 完全恢复

    rman 完全恢复 8.1 recover 恢复: 1)归档 : 完全恢复和不完全恢复 2)非归档:只能恢复到最后一次备份状态(还原) 8.2 完全恢复: ----先对数据库做一个备份(如果是arch ...

  8. oracle之三手工完全恢复

    手工完全恢复 3.1 完全恢复:通过备份.归档日志.current log ,将database恢复到failure 前的最后一次commit状态. 3.2 完全恢复的步骤 1)restore: OS ...

  9. pip更新命令

    python -m pip install --upgrade pip 更新时如果报错'NoneType' object has no attribute 'bytes', 解决办法:easy_ins ...

  10. JS数据类型及常用操作

    1.字符串 2.数字类型 3.布尔类型 4.数组类型 5.字典