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. 对于分布式Job的思考

    引言 在清理Github的时候,发现以前写的一个简单的分布式任务分发系统ClawHub/task-distribution,使用了zk的选主与队列,调度器使用spring的ThreadPoolTask ...

  2. H5选择器

    1.标签选择器 注意点:1. 标签选择器选中当前所有的标签,而不能单独选择某个标签 2.标签选择器不无多深都能被选中     3.只要是HTML中的标签就可以作为表亲啊选择器(h/a/img/ul/o ...

  3. Kubernetes中资源清单与Pod的生命周期(二)

    一.资源清单 1,定义: 在k8s中一般使用yaml格式的文件来创建符合我们预期的资源,这样的yaml被称为资源清单. 使用资源清单创建Pod: kubectl apply -f nginx.yaml ...

  4. 使用镜像安装cygwin、gcc并配置CLion IDE -2020.09.12

    使用镜像安装cygwin.gcc并配置CLion IDE -2020.09.12 Cygwin 官网:http://www.cygwin.com/ 下载64bit安装器,并打开选择next 尽量不要装 ...

  5. golang 协程学习

    协程数据传递问题 func TestGoroutineData(t *testing.T) { var wg sync.WaitGroup wg.Add(1) i := 0 go func(j int ...

  6. 定时任务与feign超时的纠葛,该咋优化?

    1 背景 业务定时器应用半夜经常会触发熔断异常的告警邮件 根据邮件提示的类找到归纳以下表格 编号 报错方法 接口所属应用 所属定时任务类 A VipTradeReportFeignService#ge ...

  7. Oracle学习(八)RECORD(自定义结构)

    一.定义 记录数据类型的一种,将几个相关的.分离的.基本数据类型的变量组成一个类似于整体表结构的对象,即RECORD复合数据类型. 在使用记录数据类型变量时,需要在声明部分先定义记录的组成.记录的变量 ...

  8. 刷题[GWCTF 2019]你的名字

    解题思路 打开发现需要输入名字,猜测会有sql注入漏洞,测试一下发现单引号被过滤了,再fuzs下看看过滤了哪些 长度为1518和1519的都有过滤,测试一下,感觉不是sql注入了.那还有什么呢,考虑了 ...

  9. php花式读取文件

    读文件 hightlight_file($filename); show_source($filename); print_r(php_strip_whitespace($filename)); pr ...

  10. python中获取中位数

    普通方法: 对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数 def huahua(x): length = len(x) print(length) x.sort() print(x) ...