当前位置:   article > 正文

MySQL中的INSERT ... SELECT语法_mysql select insert

mysql select insert

在这里插入图片描述

一.INSERT … SELECT语法介绍

在这里插入图片描述
上图来自官方文档,在其中,有这样一句话描述: 可以根据SELECT 语句的结果快速将多行插入到表中,该语句可以从一个或多个表中进行选择。在这段话下面,给我们提供了一个使用的demo。

INSERT INTO tbl_temp2 (fld_id)
  SELECT tbl_temp1.fld_order_id
  FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

  • 1
  • 2
  • 3
  • 4

根据官方文档描述,我们可以使用该语法来做表复制。在很多博客中,大家都写作INSERT INTO SELECT,或许大家习惯了将insert和into绑定到一起,我们可以看到官方文档将其称为INSERT…SELECT 语法,这里需要特殊说明一下。

二.INSERT … SELECT语法使用

 --1.创建测试表  
    create TABLE Table1  
    (  
        a varchar(10),  
        b varchar(10),  
        c varchar(10)
    );
    create TABLE Table2  
    (  
        a varchar(10),  
        c varchar(10),  
        d int
    );

    --2.创建测试数据  
    insert into Table1 values('赵','asds','90');  
    insert into Table1 values('钱','asds','100');  
    insert into Table1 values('孙','asds','80');  
    insert into Table1 values('李','asds',null);  

    --显示更新前结果
    select * from Table2;
 
	--3.INSERT INTO SELECT语句复制表数据部分列和常值
	insert into Table2(a, c, d) select a,c,5 from Table1;
	或:insert into Table2 select * from Table1;

	--4.显示更新后的结果  
	select * from Table2;  

    --5.删除测试表  
    drop TABLE Table1;  
    drop TABLE Table2;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

三.操作结果

  • 复制表之前:
    在这里插入图片描述
  • 复制表之后:
    在这里插入图片描述

参考文章:
1.SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/410190
推荐阅读
相关标签
  

闽ICP备14008679号