`
xsz
  • 浏览: 3260 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

学习笔记之mysql之insert into 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个人学习笔记

    MySQL个人学习笔记 本篇文章是一个关于MySQL的个人学习笔记,涵盖了基本的增删改查语句,适合新手快速使用MySQL。下面是文章的详细知识点: 一、数据库操作 1. 登陆数据库:使用`mysql –u 用户名 -p 密码`命令...

    mysql学习笔记

    插入数据时,可使用`NULL`自动获取递增值,如`INSERT INTO article VALUES(NULL, 'a');`。 11. **日期和时间**: MySQL提供日期时间函数,如`NOW()`返回当前时间,`DATE_FORMAT()`格式化时间,如: ``` SELECT ...

    MySQL 字段约束 mysql学习笔记

    INSERT INTO friends VALUES (NULL, 'simaopig', 'simaopig'); ``` 错误提示:Column 'id' cannot be null 但是,在自增列和 TIMESTAMP 字段中,这个规则并不适用。向这些字段中插入 NULL 值将会导致插入下一个...

    MySQL入门很简单-学习笔记_20110913.pdf

    - **将查询结果插入表中**:`INSERT INTO table_name (column1, column2, ...) SELECT column1, column2, ... FROM another_table;` 2. **更新数据**:`UPDATE table_name SET column_name = new_value WHERE ...

    学习MySQL笔记 MySQL资源

    例如,`CREATE DATABASE`用于创建新的数据库,`CREATE TABLE`定义表结构,`INSERT INTO`添加数据,`SELECT`用于检索数据,`UPDATE`修改现有数据,而`DELETE FROM`则用于删除记录。 表的设计是数据库管理的关键。在...

    MySQL学习笔记+python接收传感器+python将数据写入MySQL+PHP连接本地MySQL

    MySQL学习笔记+Python接收传感器+Python将数据写入MySQL+PHP连接本地MySQL 这篇笔记主要讲述了MySQL数据库的基本操作,包括用户管理、数据库操作、表操作、数据操作等,同时也涉及到了Python和PHP语言对MySQL的接口...

    Linux下mysql学习笔记

    【Linux下MySQL学习笔记】 MySQL是一款广泛应用于互联网的开源关系型数据库管理系统,尤其在Linux操作系统上,其稳定性和性能表现尤为突出。本笔记主要针对在Linux环境下安装、配置、管理和优化MySQL的过程进行详解...

    Mysql详细学习笔记.rar

    笔记可能涵盖了如何创建、更新、查询和删除数据的基本语法,如`CREATE TABLE`、`ALTER TABLE`、`SELECT`、`INSERT INTO`和`DELETE`命令。 2. **数据类型**:MySQL支持多种数据类型,包括数值类型(如INT、DECIMAL)...

    MYSQL学习笔记总结

    以下是对“MYSQL学习笔记总结”中的关键知识点的详细阐述: 1. **基础概念** - **数据库**: 数据库是存储数据的系统,MySQL中的数据组织成表格形式,每个表格包含多个列和行。 - **表**: 表是数据的基本单元,由...

    mysql之学习笔记篇

    ### MySQL学习笔记篇 在IT领域,特别是对于运维人员来说,掌握MySQL的使用是一项非常重要的技能。本篇学习笔记将围绕MySQL的基础知识展开,重点介绍如何进行MySQL服务的搭建、安装以及常用的基本命令和语法。 ####...

    mysql学习笔记借鉴

    这份"mysql学习笔记借鉴"涵盖了MySQL的基础知识和实践应用,包括数据库的基本操作、SQL语句的使用以及如何与其他软件集成。 一、MySQL基础 1. 数据库概念:MySQL是一个用于存储和管理数据的关系型数据库系统,它...

    MySQL学习笔记.zip

    这份"MySQL学习笔记.zip"很可能是包含了一系列关于MySQL学习的文档,可能包括教程、实战案例和常见问题解答等。 在MySQL的学习中,首先会接触到的是基本概念,如数据库(Database)、表(Table)、字段(Field)和...

    MySQL大纲学习笔记

    本学习笔记旨在提供全面的MySQL语法知识,帮助读者从基础到进阶,掌握数据库管理和开发的基本技能。 首先,我们需要理解SQL(Structured Query Language),这是一种用于管理关系数据库的标准编程语言。SQL的主要...

    MySQL学习笔记(HTML版)

    SQL语句是操作数据库的语言,如`CREATE DATABASE`用于创建数据库,`USE`切换当前工作数据库,`CREATE TABLE`定义表结构,`INSERT INTO`添加记录,`SELECT`查询数据,`UPDATE`修改记录,`DELETE FROM`删除记录,以及`...

    MySQL 使用笔记 日常笔记

    MySQL 使用笔记涵盖了许多基础到进阶的操作,是学习和日常工作中不可或缺的一部分。下面将详细解释这些知识点。 **一、MySQL 基本操作** 1. **启动 MySQL 服务**: 使用命令 `net start mysql` 来启动 MySQL 服务。 ...

    MYSQL学习笔记.pdf

    MySQL学习笔记详细知识点如下: 1. MySQL简介 MySQL是一个关系型数据库管理系统(RDBMS),被广泛应用于互联网领域,尤其是Web应用中。它是开源免费的,支持多用户访问和管理大量数据。 2. 数据库基础知识 数据库...

    MySQL实战学习笔记.zip

    这份“MySQL实战学习笔记”涵盖了从基础到高级的诸多知识点,旨在帮助学习者掌握MySQL的核心功能和实际操作技巧。 一、MySQL简介 MySQL是一个开源、免费的数据库系统,由瑞典的MySQL AB公司开发,现在由Oracle公司...

    MySQL5.1学习笔记.pdf

    这份《MySQL5.1学习笔记》涵盖了基础知识到高级功能的操作示例,是学习MySQL 5.1的宝贵资料。 从提供的内容来看,学习笔记涉及了以下知识点: 1. 基本数据库操作 - 显示当前版本和日期:`SELECT VERSION(), ...

    MySQL.zip学习笔记

    本学习笔记将深入探讨MySQL的基础知识、关键概念、安装配置、SQL语句、表设计、索引优化以及事务处理等多个方面,帮助读者全面掌握MySQL的核心技能。 一、MySQL基础 MySQL是一个ACID(原子性、一致性、隔离性和...

Global site tag (gtag.js) - Google Analytics