zoukankan      html  css  js  c++  java
  • 从一个表中查数据,插入另一个表

    本文就将以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  来源表 ;

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

     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    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

    ql server中将一个表中的部分数据插入到另一个表中

    1. 存储过程:

    CREATE PROCEDURE pro1
    as
    insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' from tableA where field1='val1'

    然后执行,刷新“存储过程”,在新建的存储过程“pro1”上右击“执行存储过程”即可。

    如果存储过程写为:

    PROCEDURE pro1

    as
    DECLARE @field1 varchar(30), @field2 varchar(30), @field3 varchar(100), @field4 varchar(10)
    select @field1=field1, @field2=field2, @field3=field3 from tableA where field1='val1'

    insert into tableB (field1,field2,field3,field4) values(@field1, @field2, @field3,'val4')

    只会插入一行记录。

    2. 在新建查询中输入:

    insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' from tableA where field1='val1'

    然后“执行”,即可插入。

  • 相关阅读:
    第13组_16通信3班_045_OSPFv3作业
    RIPng配置(第十三组)
    基于IPV6的数据包分析(更新拓扑加入了linux主机和抓取133icmp包)(第十三组)
    vmware vsphere powercli 因为在此系统中禁止执行脚本
    vmware virtual machine must be running in order to be migrated
    flashback transaction闪回事务查询
    oracle 闪回功能详解
    linux下修改/dev/shm tmpfs文件系统大小
    vmware虚拟机guest系统重启后获得169.254.X.X的ip解决方法
    一键部署 PPTP server
  • 原文地址:https://www.cnblogs.com/wyy226wyj/p/3615355.html
Copyright © 2011-2022 走看看