mysql 如何把查询到的结果插入到 另一个表中
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;
查询如下: