mysql 如何把查询到的结果插入到另一个表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 如何把查询到的结果插入到另一个表中相关的知识,希望对你有一定的参考价值。

其实很简单,只是为了忘记,做个记录,用的时候方便。

 

不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将mysql或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。

 

本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 。

类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:

INSERT INTO  目标表  SELECT  * FROM  来源表 ;

例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:

INSERT INTO  newArticles  SELECT  * FROM  articles ;

类别二、 如果只希望导入指定字段,可以用这种方法:

INSERT INTO  目标表 (字段1, 字段2, ...)  SELECT   字段1, 字段2, ...   FROM  来源表 ;

请注意以上两表的字段必须一致,否则会出现数据转换错误。

INSERT INTO TPersonnelChange(
    UserId,
    DepId,
    SubDepId,
    PostionType,
    AuthorityId,
    ChangeDateS,
    InsertDate,
    UpdateDate,
    SakuseiSyaId
)SELECT
    UserId,
    DepId,
    SubDepId,
    PostionType,
    AuthorityId,
    DATE_FORMAT(EmployDate, '%Y%m%d'),
    NOW(),
    NOW(),
    1
FROM
    TUserMst
WHERE
    `Status` = 0
AND QuitFlg = 0
AND UserId > 2

参考技术A

语句:INSERT INTO  目标表  SELECT  * FROM  来源表 ;

也可以先查询出结果保存下来,再把保存的值放到insert语句。

MySQL 是一个关系型数据库,目前属于 Oracle
旗下公司。MySQL是开放源码软件,因此可以大大降低总体拥有成本。支持多线程,充分利用CPU资源。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。支持大型的数据库。可以处理拥有上千万条记录的大型数据库

MYSQL 如何把查询到的结果插入到另一个表中?

语句:INSERT INTO  目标表  SELECT  * FROM  来源表 ;

也可以先查询出结果保存下来,再把保存的值放到insert语句。

MySQL 是一个关系型数据库,目前属于 Oracle
旗下公司。MySQL是开放源码软件,因此可以大大降低总体拥有成本。支持多线程,充分利用CPU资源。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。支持大型的数据库。可以处理拥有上千万条记录的大型数据库

参考技术A 插入
INSERT INTO table1(col1,col2,col3) SELECT * FROM(SELECT col1,col2,col3 FROM table2)
删除
DELETE FROM table1WHERE col1 in (SELECT col1 FROM table2)

以上是关于mysql 如何把查询到的结果插入到另一个表中的主要内容,如果未能解决你的问题,请参考以下文章

新建表需要原表的数据,mysql 如何把查询到的结果插入到新表中

将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)

如何将一个表的查询结果插入到另一个表中?

如何把查询一个数据库表中的查询结果插入到另一个数据库表中(高分!)

mysql把查询到不一样的记录插入到另一张表中

在oracle中怎么将查询到的数据插入到另一个表中