MySQL 复制表(表结构、表结构和数据)
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 复制表(表结构、表结构和数据)的更多相关文章
- MySQL复制同一个服务器的表结构和表数据
例如,现在服务器上有数据库 dbx 和 dby,dbx中有很多表,要把dbx中的表全部复制到dby,如下操作: 首先: use dby; [复制表结构] CREATE TABLE user LIKE ...
- MySQL 复制已存在的表生成新表
从已有的表创建一个新的空表 CREATE TABLE new_table LIKE old_table; 注意: create table ... like 创建的表会保留原有表的字段.索引的定义,但 ...
- 14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制:
14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制: MySQL 复制工作对于InnoDB 表和对于MyISAM表. 它是可能使用复制的方式 存储引 ...
- MySQL 复制表结构
200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...
- mysql 复制表结构、表数据的方法
From: http://blog.163.com/yaoyingying681@126/blog/static/109463675201191173221759/ MySQL 添加列,修改列,删除列 ...
- mysql复制表结构及检查表、存储过程是否存在
mysql命令行复制表结构的方法: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 或者 CREATE TABLE 新表 LIKE 旧表 ...
- MySQL复制表结构表数据
MySQL复制表结构 表数据 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete ...
- mysql复制表数据或表结构到新表中
MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制表结构到新表 C ...
- Mysql 复制表结构 及其表的内容
顺便转一下Mysql复制表结构.表数据的方法: 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们 ...
- mysql复制表结构create table as和like的区别
对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 ...
随机推荐
- DIY申请达姆施塔特工业大学计算机专业(Informatik)硕士(Master)【附个人简历和动机信】
1.个人概况 双非院校本科毕业两年,已来德国一年. APS绩点2.5,均分80.17. 2020.6月考出5443德福成绩,7月中下旬递交材料,9月初获得Zulassung(录取) PS:后来考出54 ...
- Redis适配采坑记
Redis适配采坑记 相对于其他的适配,Redis可以说是非常简单的其中只发现一个坑 问题一: 问题描述: redis认证失败 问题详解: redis连接配置时,本地需要采用password属性,远程 ...
- 20190923-02Linux文件目录类 000 010
pwd 显示当前工作目录的绝对路径 pwd:print working directory 打印工作目录 1.基本语法 pwd (功能描述:显示当前工作目录的绝对路径) 2.案例实操 (1)显示当前工 ...
- BIO应用-RPC框架
为什么要有RPC? 我们最开始开发的时候,一个应用一台机器,将所有功能都写在一起,比如说比较常见的电商场景. 随着我们业务的发展,我们需要提示性能了,我们会怎么做?将不同的业务功能放到线程里来实现异 ...
- Java得到指定日期的时间
//得到指定日期(几天前/几天后)整数往后推,负数往前移动private Date getAppointDay(int num) throws ParseException { DateFormat ...
- upstream--负载
语法格式: upstream 负载名 { [ip_hash;] server ip:port [weight=数字] [down]; server ip:port [weight=数字]; } ...
- 【NOIP2014模拟】高级打字机
题目描述 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: T x:在文章末尾打下一个小写字母x.(typ ...
- 使用wireshark分析MQTT协议
网络上搜索到两种用wireshark工具分析MQTT协议的方法,都是使用wireshark插件,一种是Wireshark Generic Dissector:另一种是使用lua脚本插件(推荐使用这种方 ...
- DevOps-实践心得
基于最近几年从事与DevOps的相关实践,对这篇文章的观点深有体会,所以记录在这里.加粗部分是我比较深有体会的,但是对于最后作者对于"运维"有些悲观,我有点不敢苟同,反而对于运维的 ...
- python中使用mock模块返回数据
mock是辅助单元测试的一个模块.它允许您用模拟对象替换您的系统的部分,并对它们已使用的方式进行断言. mock在python3中已经被集成到了unittest单元测试框架中,所以,可以直接使用. m ...