MYSQL把一张表的数据批量复制到另外一张表
MySQL数据库快速将一个表的数据备份到另一个表中。
#如果有B表就删除
DROP TABLE IF EXISTS B;
#根据A表结构创建B表
CREATE TABLE B LIKE A;
#查询A表数据插入B表
INSERT INTO B SELECT * FROM A;
1. 表结构完全一样
CREATE TABLE 表1 LIKE 表2;
insert into 表1 select * from 表2
2. 表结构不一样(这种情况下得指定列名)
insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2
3.不同数据库,需要在表前面加数据库前缀,database.表名。
注意:以上测试过OK,sql语句不需要在insert后面加values。
- 真实示例
select count(*) from tb_org_order
create table tb_org_order_item like tb_org_order_item_0909
create table tb_org_order like tb_org_order_0909
select * from tb_org_order_0909 where order_date>'2020-07-01' ORDER BY order_date LIMIT 1
select create_time from tb_org_order_item_0909 WHERE create_time>'2020-07-01' ORDER BY create_time LIMIT 1
INSERT into tb_org_order select * from tb_org_order_0909 where order_date>'2020-07-01'
INSERT into tb_org_order_item select * from tb_org_order_item_0909 where create_time>'2020-07-01'
Q.E.D.