mysql+inser+select_解析MySQL中INSERT INTO SELECT的使用
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
否则也会报错:You have an error in your SQL syntax
您可能感兴趣的文章:MySQL中insert语句的使用与优化教程mysql insert语句操作实例讲解PHP+MySQL之Insert Into数据插入用法分析MySql中使用INSERT INTO语句更新多条数据的例子mysql 操作总结 INSERT和REPLACEmysql中insert与select的嵌套使用方法正确使用MySQL INSERT INTO语句mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )详解MySQL数据库insert和update语句MySQL优化insert性能的方法示例
mysql+inser+select_解析MySQL中INSERT INTO SELECT的使用相关推荐
- mysql+inser+select_在MySQL中结合INSERT,VALUES和SELECT
您可以使用以下语法组合插入,值和选择语句insert into yourFirstTableName(yourColumnName1,yourColumnName2,.......N) select ...
- MySQL中INSERT INTO SELECT的使用
1. 语法介绍 有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (f ...
- 语法:MySQL中INSERT INTO SELECT的使用
1. 语法介绍 有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (f ...
- oracle中的select into,Oracle中insert into select和select into的用法
Oracle中insert into select和select into的用法 两张表进行数据的拷贝,最常用的拷贝语句是: insert into select 和select into from ...
- mysql中insert into select from的使用
如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现.具体情形是:有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,我们可以使 ...
- mysql write rows_解析MYSQL BINLOG 二进制格式(5)--WRITE_ROW_EVENT
展开阅读全文 原创:转载请说明出处谢谢! 上接 http://blog.itpub.net/7728585/viewspace-2133188/ 解析MYSQL BINLOG 二进制格式(1)--准备 ...
- mysql binlog xid_解析MYSQL BINLOG 二进制格式(7)--Xid_log_event/XID_EVENT
原创:转载请说明出处谢谢! 上接 http://blog.itpub.net/7728585/viewspace-2133188/ 解析MYSQL BINLOG 二进制格式(1)--准备工作 http ...
- Oracle中insert into select和select into的区别
文章转自:http://www.linuxidc.com/Linux/2012-09/70984.htm 在Oracle中,将一张表的数据复制到另外一个对象中.通常会有这两种方法:insert int ...
- mysql的exists解析_mysql中关于exists的深入讲解
mysql中关于exists的讲解 我认为exists语法是mysql中一个很强大的工具,可以简单地实现某些复杂的数据处理. 下面我谈谈与exists有关的三个方面. all 与 any 首先,看到了 ...
最新文章
- WIN7源码安装Apache和PHP注意事项
- VMware 虚拟化编程(4) — VDDK 安装
- JavaScript与TypeScript总结
- Android 观察系统中短信内容的变化(内容观察者)
- SqlCommandBuilder
- GM9 tile empty issue - ( not figured out )
- Linux运维工程师面试-部分题库
- 台式计算机驱动程序未被安装,电脑未能成功安装设备驱动程序怎么办
- 票价最低10元 北京大兴国际机场线票价方案正式启用
- 阿里云HBase推出全新X-Pack服务 定义HBase云服务新标准...
- 客户端存储——Storage
- 美图秀秀计算机教程,如何用美图秀秀换背景?美图秀秀换背景图文教程-电脑教程...
- 用友nc java下载_用友nc的java插件下载
- dev c++缺省源
- 这款打怪升级的小游戏,7 年前出生于 GitHub 社区,如今在谷歌商店有 8 万人打了满分
- lol祖安服务器维护,LOL:最坑的十个大区,艾欧尼亚排第十!如果你在第一赶快换区!...
- #一日一图#谁来暖床!
- 古希腊神话故事3 :丢卡利翁和皮拉
- 学习-编写判断一个正整数是否为素数的函数
- Java菜鸟起飞日记-每天五分钟(Hello World)
热门文章
- 【nodejs】安装browser-sync 遇到错误提示
- sort和qsort函数
- word-break|overflow-wrap|word-wrap——CSS英文断句浅析
- 深入 JavaScript(4) - new运算符是如何工作的
- Android4开发入门经典 之 第七部分:数据存储
- 《C语言程序设计》第三章练习与习题答案
- Ubuntu 17.10安装Qt 5.10环境与Qt Creator 4.5开发工具(转自linux公社)
- MTK 8127平台使用busybox
- 博客目录列表(C与Linux部分)
- centos 启动一个redis_基于prometheus+grafana体系监控redis缓存服务