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 ...
随机推荐
- webpack3.10.0(入门系列基本概念1)
一.概念 webpack的核心是一个用于现代JavaScript应用程序的静态模块打包程序.当webpack处理您的应用程序时,它会递归地构建一个依赖图,其中包含应用程序所需的每个模块,然后将所有这些 ...
- 剑指 Offer 46. 把数字翻译成字符串
题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l",--,25 ...
- 自编Basic脚本 用BasicIntepreter执行 打印九九乘法表
源码下载:https://files.cnblogs.com/files/heyang78/BasicInterpreter2-20200601-2.rar 用编程语言打印九九乘法表不难,用自编解释器 ...
- The relationship between Sonarcube coverage and code branch
Once I was asked to enhance the sonarcube coverage of the class:‘jp.co.XXXXp.DltApiHttpRequestRetryH ...
- leetcode刷题-78子集
题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2] ...
- java面试题0004-在一个类上是否可以用abstract和final同时加以修饰?
我们先用提干两个修饰词中的任意一个创建一个类 package components.javaTest.day4_20200910; /** * Question004: * java面试题0004-在 ...
- linux下设置账户锁定阈值:登录失败n次,多长时间后解锁重新登录
在centos系统下: 1.执行命令 vim /etc/pam.d/system-auth或vim /etc/pam.d/ login 2.执行命令 vim /etc/pam.d/sshd 3.在上面 ...
- django之安装和项目创建
dos界面下安装django 自动下载和安装:cmd:pip3 install django 手动安装: 1.登录django官网下载django 2.下载地址:https://www.django ...
- [LeetCode] 221. 最大正方形(DP)
题目 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 ...
- Java垃圾回收System.gc()的理解
System.gc()无法保证GC一定执行 在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用,会显式触发Full GC,同时对老年代和新生代进行回收 ...