mysql 如何把查询到的结果插入到 另一个表中

本文详细介绍如何使用SQL语句将数据从一个表迁移到另一个表,包括全量迁移、指定字段迁移及限制条数的迁移方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql 如何把查询到的结果插入到 另一个表中

创建表

CREATE TABLE tests (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
name varchar(128) DEFAULT NULL COMMENT ‘姓名’,
age int(11) DEFAULT NULL COMMENT ‘年龄’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

表 如下
在这里插入图片描述

第一种:如果只希望导入指定字段,可以用这种方法:

INSERT INTO 目标表 (字段1, 字段2, …) SELECT 字段1, 字段2, … FROM 来源表 ;

请注意以上两表的字段必须一致,否则会出现数据转换错误。

如图
在这里插入图片描述

查询一下 正确:
在这里插入图片描述

第二种 其实就是导入全部字段

如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:

INSERT INTO 目标表 SELECT * FROM 来源表 ;

例如,要将 tests 表插入到 newTests 表中,则可以通过如下SQL语句实现:

INSERT INTO tests SELECT * FROM newTests ;

第三种 如果只希望导入指定字段,指定条数

代码如下,其实就是 第一种的升级版

INSERT INTO 目标表 ( NAME, age ) SELECT NAME, age FROM 来源表 LIMIT 0,2;

案例: INSERT INTO tests ( NAME, age ) SELECT NAME, age FROM tests LIMIT 0,2;
在这里插入图片描述

查询如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值