1. 语法介绍
      有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:

INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name

上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,可以先将需要查询的字段JOIN起来,然后组成一个视图后再SELECT FROM就可以了:

INSERT INTO a (field1,field2) SELECT * FROM(SELECT b.f1,c.f2 FROM b JOIN c) AS tb

其中f1是表b的字段,f2是表c的字段,通过JOIN查询就将分别来自表b和表c的字段进行了组合,然后再通过SELECT嵌套查询插入到表a中,这样就满足了这个场景了,如果需要不止2个表,那么可以多个JOIN的形式来组合字段。

2. 语法错误注意
      需要注意的是嵌套查询部分最后一定要有设置表别名,如下:

SELECT * FROM (SELECT f1,f2 FROM b JOIN c) AS tb

即最后的AS tb是必须的(tb这个名称可以随意取),即指定一个别名。每个派生出来的新表都必须指定别名,否则在mysql中会报如下错误:

ERROR 1248 (42000): Every derived TABLE must have its own alias

另外,MySQL中INSERT INTO SELECT不能加VALUES,即不能写成如下形式:

INSERT INTO db1_name(field1,field2) VALUES SELECT field1,field2 FROM db2_name

转载于:https://www.cnblogs.com/zhwl/archive/2012/10/12/2721482.html

语法:MySQL中INSERT INTO SELECT的使用相关推荐

  1. MySQL中INSERT INTO SELECT的使用

    1. 语法介绍       有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (f ...

  2. mysql+inser+select_解析MySQL中INSERT INTO SELECT的使用

    1. 语法介绍 有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (field1, ...

  3. mysql中insert into select from的使用

    如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现.具体情形是:有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,我们可以使 ...

  4. 语法:MySQL中INSERT IGNORE INTO和REPLACE INTO的使用

    mysql中insert into和replace into以及insert ignore用法区别:  mysql中常用的三种插入数据的语句:  insert into表示插入数据,数据库会检查主键, ...

  5. mysql中insert语句的五种用法

    文章目录 前言 一.values参数后单行插入 二.values参数后多行插入 三.搭配select插入数据 四.复制旧表的信息到新表 五.搭配set插入数据 总结 前言 insert语句是标准sql ...

  6. MySQL中INSERT IGNORE INTO和REPLACE INTO的使用

    mysql中insert into和replace into以及insert ignore用法区别:  mysql中常用的三种插入数据的语句:  insert into表示插入数据,数据库会检查主键, ...

  7. oracle中的select into,Oracle中insert into select和select into的用法

    Oracle中insert into select和select into的用法 两张表进行数据的拷贝,最常用的拷贝语句是: insert into select 和select into from ...

  8. mysql中insert into含义_MySQL中insert into语句的用法

    insert into是mysql中最常用的插入语句,通过 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中,目标表中任何已存在的行都不会受影响. 今天我们 ...

  9. MySQL的insert into select 引发锁表

    上周五HaC我要上线,有一个脚本需要执行,执行前需要备份一个表. 运维大佬:"这个表的备份为什么要这么久,,??" 1秒过去了--2秒过去了-- 期间运营反馈系统出现大量订单超时情 ...

最新文章

  1. c和python哪个好学-C/C++和Python哪个更有前景?
  2. codeforces#597 D. Shichikuji and Power Grid(虚点+最小生成树+记录)
  3. Java - 正则表达式的运用(Pattern模式和Matcher匹配)
  4. 每天看一片代码系列(二):WebSocket-Node
  5. guests mysql权限_MySQL降权运行之MySQL以Guests帐户启动设置方法
  6. import引入json文件_关于TypeScript中import JSON的正确姿势详解
  7. [设计模式]中介者模式之Events消息传递实现
  8. 复习Javascript专题(一):基本概念部分
  9. GridView详解
  10. 即席和即兴_即兴说话小课堂
  11. Comparable和Comparator接口是干什么的?列出它们的区别。
  12. 全面综述:基于3D骨架的深度学习行为识别方法
  13. 全国自然保护区生态功能区分布数据
  14. java毕向东练习题,java中的String类的练习(来自毕向东老师视频资料)
  15. 计算机科学导论佛罗赞第4版,计算机科学导论 原书第4版
  16. 在线作图|2分钟做Lefse分析
  17. Apple Pay初探
  18. Graphics.DrawString 方法
  19. Prisemi芯导充电和保护硬科技亮相亚洲蓝牙耳机展
  20. 如何使用工厂模式让自己的代码更加优雅

热门文章

  1. Spring 的 BeanFactory 和 FactoryBean 傻傻分不清?
  2. 彻底吃透Web服务器、容器、应用程序服务器与反向代理
  3. 中国SaaS死或生之三:SaaS SCM能否上演绝地求生?
  4. spring-session使用教程(一):redis共享session
  5. JSP页面中四种“返回按钮”的使用
  6. 数据结构-顺序查找算法的实现(C语言)
  7. 数据结构-冒泡排序最优代码(C语言)
  8. ftp 服务器 显示未登录,ftp 服务器 显示未登录
  9. lstm原理_Mamp;DL | LSTM:遗忘门、记忆门、输出门
  10. BODY background=自适应大小_自适应(电脑/平板/手机)网页,自适应网页设计练习总结...