`

从查询结果中,批量写入到表中

 
阅读更多

      Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

      1.INSERT INTO SELECT语句

      语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->   --1.创建测试表
    create TABLE Table1
    (
        a 
varchar(10),
        b 
varchar(10),
        c 
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]

    
create TABLE Table2
    (
        a 
varchar(10),
        c 
varchar(10),
        d 
int,
        
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]
    
GO
    
--2.创建测试数据
    Insert into Table1 values('','asds','90')
    
Insert into Table1 values('','asds','100')
    
Insert into Table1 values('','asds','80')
    
Insert into Table1 values('','asds',null)
    
GO
    
select * from Table2

    
--3.INSERT INTO SELECT语句复制表数据
    Insert into Table2(a, c, d) select a,c,5 from Table1
    
GO

    
--4.显示更新后的结果
    select * from Table2
    
GO
    
--5.删除测试表
    drop TABLE Table1
    
drop TABLE Table2


      2.SELECT INTO FROM语句

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->   --1.创建测试表
    create TABLE Table1
    (
        a 
varchar(10),
        b 
varchar(10),
        c 
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]
    
GO

    
--2.创建测试数据
    Insert into Table1 values('','asds','90')
    
Insert into Table1 values('','asds','100')
    
Insert into Table1 values('','asds','80')
    
Insert into Table1 values('','asds',null)
    
GO

    
--3.SELECT INTO FROM语句创建表Table2并复制数据
    select a,c INTO Table2 from Table1
    
GO

    
--4.显示更新后的结果
    select * from Table2
    
GO
    
--5.删除测试表
    drop TABLE Table1
    
drop TABLE Table2

 

 

 

============================


--批量加组员工
insert into groupmember(id, groupid, staffid, status, creatorid, createdtime, delflag)
select sys_guid(), 'YG_007', staff_id,  1, 'admin', '2013-03-20 17:05:32', 'n' from staff;

分享到:
评论

相关推荐

    sql批量写入数据

    在SQL Server数据库管理中,批量写入数据是一项重要的任务,特别是在处理海量数据时,效率尤为重要。批量插入可以显著提高性能,减少与数据库的交互次数,从而优化系统资源的使用。以下将详细介绍如何实现“sql批量...

    Java实现批量向mysql写入数据的方法

    本文中提供了一个完整的示例代码,演示了Java实现批量向mysql写入数据的方法,包括JDBC连接mysql数据库、批量向mysql写入数据和基本的异常处理等操作。该示例代码可以作为Java程序设计的参考,帮助读者更好地理解...

    NFC名片批量写入NTAG

    NFC名片批量写入NTAG,使用符合PC/SC标准的读卡器如ACR122u,批量写入NTAG213/215/216标签

    局域网IP计算机名批量写入工具 

    3. **批量写入**:确认配置无误后,工具将这些设定批量写入到指定的计算机中,更新其网络配置信息。 4. **验证与反馈**:工具在执行操作后会提供反馈,显示哪些设备成功设置了新IP和计算机名,哪些设备可能由于权限...

    批量写入数据到Elasticsearch

    批量写入中,如果某个操作失败,Elasticsearch会返回一个包含成功和失败操作的响应。你需要解析这个响应并适当地处理失败的请求。一种常见的策略是使用指数退避重试,即每次失败后等待的时间逐渐增加,直到达到最大...

    C#.NET中如何批量插入大量数据到数据库中

    2. **批量插入(Bulk Insert)**:SQL Server 提供了一个`SqlBulkCopy`类,用于快速地将大量数据从一个数据源(如DataTable或DataReader)复制到SQL Server表中。这比逐行插入要快得多。 ```csharp using ...

    Flink实时读取Kafka数据批量聚合(定时按数量)写入Mysql.rar

    标题中的"Flink实时读取Kafka数据批量聚合(定时/按数量)写入Mysql"是一个典型的实时数据处理场景,涉及到大数据技术栈中的三个关键组件:Apache Flink、Apache Kafka和MySQL。以下是对这些技术及其在该场景下应用...

    MySQL 5.7 批量写入性能测试对比.docx

    本篇文章主要探究了在数据交换场景下,如何从表结构、索引、数据形态等方面有效提升批量写入 MySQL 的性能。 一、one_value vs multiple_value 在批量写入性能测试中,我们首先探究了 one_value 和 multiple_value...

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    下面我们将详细探讨如何使用EasyExcel实现并发读取文件字段、进行数据校验、将数据写入新文件以及批量插入到数据库的操作。 1. **EasyExcel介绍** EasyExcel是一款轻量级的Java Excel处理框架,它基于NIO和内存...

    Flink 流数据批量写入数据库

    因此,本文将详细介绍如何在 Flink 中实现流数据的批量写入数据库,以提高效率并减轻数据库的压力。 首先,为了实现批量写入,我们可以利用 Flink 的窗口(Window)功能。窗口可以将连续的数据流分成多个时间间隔的...

    JDBC批量插入 更新 删除等操作

    例如,在日志系统中,通常会将日志信息先写入到文件中,然后再定期批量导入到数据库中进行存储和分析。下面详细介绍JDBC批量插入的具体实现方式: 1. **使用PreparedStatement加批量的方法** 使用`...

    C#读取大文本文件(4G)并将其批量写入数据库(每次100万条).zip

    本示例聚焦于使用C#语言读取大型文本文件(如4GB大小)并将其批量写入数据库(每次处理100万条记录)。这种操作在大数据处理场景下尤为常见,因为一次性读取和处理整个大文件可能会导致内存溢出,因此采用分批处理的...

    自动办公-35 Python从Excel表中批量复制粘贴数据到新表

    本主题将深入探讨如何利用Python从Excel表格中批量复制并粘贴数据到新的工作表,提高办公自动化水平。 首先,我们需要了解的关键知识点是Python的pandas库,它是用于数据分析的强大工具。pandas提供了DataFrame对象...

    Flink Kafka数据批量写入到数据库

    本教程将深入讲解如何将 Flink 从 Kafka 消费数据,并批量写入到数据库。 首先,我们需要理解 Flink 中的 Kafka 连接器。Flink 提供了 Kafka Connecter,用于从 Kafka topic 消费数据或向 Kafka topic 生产数据。在...

    批量写入SQL数据库的优化函数

    通过本函数在进行批量数据操作时可以实现事件回滚,保持事务一致性。

    C# WEB 实例 批量将图片写入ACCESS数据库

    在本C# WEB实例中,我们将探讨如何批量将图片数据存储到ACCESS数据库中,并同时处理磁盘文件和文件夹操作,以及密码加密技术的应用。在Web应用程序开发中,这种功能通常用于图片管理、用户头像存储或者任何需要将...

    redis集群批量插入

    在这个例子中,我们创建了一个`HashMap`来存储键值对,然后调用`mset`方法将其批量插入到Redis集群。如果出现异常,程序会捕获并打印错误信息,最后记得关闭JedisCluster连接以释放资源。 为了更好地理解和优化代码...

    C#使用SqlBulkCopy批量复制数据到数据表

    在C#编程中,`SqlBulkCopy`类是用于高效地将大量数据从源(如DataTable或IDataReader)批量复制到SQL Server数据库表中的工具。这个类特别适用于需要快速迁移大量数据的场景,其性能远优于使用INSERT语句逐行插入...

    sap批量删除、添加、修改透明表数据

    首先需要读取现有的表数据,然后通过外部文件上传新的数据并插入到表中。 **示例代码:** ```abap IF p_insert = 'X'. SELECT * FROM (TABLE) INTO TABLE &lt;lt_dtab&gt;. IF sy-subrc = 0. MESSAGE E101 WITH '...

    python 实现 pdf 书签读取、批量写入源码

    对于批量写入PDF书签,我们需要将书签信息存储在一个结构化的格式中,如JSON。假设我们有一个名为`bookmarks.json`的文件,包含以下内容: ```json [ { "level": 1, "title": "第一章", "page": 1 }, { ...

Global site tag (gtag.js) - Google Analytics