语法: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个人学习笔记 本篇文章是一个关于MySQL的个人学习笔记,涵盖了基本的增删改查语句,适合新手快速使用MySQL。下面是文章的详细知识点: 一、数据库操作 1. 登陆数据库:使用`mysql –u 用户名 -p 密码`命令...
插入数据时,可使用`NULL`自动获取递增值,如`INSERT INTO article VALUES(NULL, 'a');`。 11. **日期和时间**: MySQL提供日期时间函数,如`NOW()`返回当前时间,`DATE_FORMAT()`格式化时间,如: ``` SELECT ...
INSERT INTO friends VALUES (NULL, 'simaopig', 'simaopig'); ``` 错误提示:Column 'id' cannot be null 但是,在自增列和 TIMESTAMP 字段中,这个规则并不适用。向这些字段中插入 NULL 值将会导致插入下一个...
- **将查询结果插入表中**:`INSERT INTO table_name (column1, column2, ...) SELECT column1, column2, ... FROM another_table;` 2. **更新数据**:`UPDATE table_name SET column_name = new_value WHERE ...
例如,`CREATE DATABASE`用于创建新的数据库,`CREATE TABLE`定义表结构,`INSERT INTO`添加数据,`SELECT`用于检索数据,`UPDATE`修改现有数据,而`DELETE FROM`则用于删除记录。 表的设计是数据库管理的关键。在...
MySQL学习笔记+Python接收传感器+Python将数据写入MySQL+PHP连接本地MySQL 这篇笔记主要讲述了MySQL数据库的基本操作,包括用户管理、数据库操作、表操作、数据操作等,同时也涉及到了Python和PHP语言对MySQL的接口...
【Linux下MySQL学习笔记】 MySQL是一款广泛应用于互联网的开源关系型数据库管理系统,尤其在Linux操作系统上,其稳定性和性能表现尤为突出。本笔记主要针对在Linux环境下安装、配置、管理和优化MySQL的过程进行详解...
笔记可能涵盖了如何创建、更新、查询和删除数据的基本语法,如`CREATE TABLE`、`ALTER TABLE`、`SELECT`、`INSERT INTO`和`DELETE`命令。 2. **数据类型**:MySQL支持多种数据类型,包括数值类型(如INT、DECIMAL)...
以下是对“MYSQL学习笔记总结”中的关键知识点的详细阐述: 1. **基础概念** - **数据库**: 数据库是存储数据的系统,MySQL中的数据组织成表格形式,每个表格包含多个列和行。 - **表**: 表是数据的基本单元,由...
### MySQL学习笔记篇 在IT领域,特别是对于运维人员来说,掌握MySQL的使用是一项非常重要的技能。本篇学习笔记将围绕MySQL的基础知识展开,重点介绍如何进行MySQL服务的搭建、安装以及常用的基本命令和语法。 ####...
这份"mysql学习笔记借鉴"涵盖了MySQL的基础知识和实践应用,包括数据库的基本操作、SQL语句的使用以及如何与其他软件集成。 一、MySQL基础 1. 数据库概念:MySQL是一个用于存储和管理数据的关系型数据库系统,它...
这份"MySQL学习笔记.zip"很可能是包含了一系列关于MySQL学习的文档,可能包括教程、实战案例和常见问题解答等。 在MySQL的学习中,首先会接触到的是基本概念,如数据库(Database)、表(Table)、字段(Field)和...
本学习笔记旨在提供全面的MySQL语法知识,帮助读者从基础到进阶,掌握数据库管理和开发的基本技能。 首先,我们需要理解SQL(Structured Query Language),这是一种用于管理关系数据库的标准编程语言。SQL的主要...
SQL语句是操作数据库的语言,如`CREATE DATABASE`用于创建数据库,`USE`切换当前工作数据库,`CREATE TABLE`定义表结构,`INSERT INTO`添加记录,`SELECT`查询数据,`UPDATE`修改记录,`DELETE FROM`删除记录,以及`...
MySQL 使用笔记涵盖了许多基础到进阶的操作,是学习和日常工作中不可或缺的一部分。下面将详细解释这些知识点。 **一、MySQL 基本操作** 1. **启动 MySQL 服务**: 使用命令 `net start mysql` 来启动 MySQL 服务。 ...
MySQL学习笔记详细知识点如下: 1. MySQL简介 MySQL是一个关系型数据库管理系统(RDBMS),被广泛应用于互联网领域,尤其是Web应用中。它是开源免费的,支持多用户访问和管理大量数据。 2. 数据库基础知识 数据库...
这份“MySQL实战学习笔记”涵盖了从基础到高级的诸多知识点,旨在帮助学习者掌握MySQL的核心功能和实际操作技巧。 一、MySQL简介 MySQL是一个开源、免费的数据库系统,由瑞典的MySQL AB公司开发,现在由Oracle公司...
这份《MySQL5.1学习笔记》涵盖了基础知识到高级功能的操作示例,是学习MySQL 5.1的宝贵资料。 从提供的内容来看,学习笔记涉及了以下知识点: 1. 基本数据库操作 - 显示当前版本和日期:`SELECT VERSION(), ...
本学习笔记将深入探讨MySQL的基础知识、关键概念、安装配置、SQL语句、表设计、索引优化以及事务处理等多个方面,帮助读者全面掌握MySQL的核心技能。 一、MySQL基础 MySQL是一个ACID(原子性、一致性、隔离性和...