`

sql server 数据导入导出

阅读更多

jackey 总结 2009.07.02

 


--使用bcp命令实现数据导入导出

--2. 如何使用bcp导出数据
--(1) 使用bcp导出整个表或视图。(两种实现方式)
EXEC master..xp_cmdshell  'bcp "CACDB_S1000.dbo.tOperator"  out "d:\currency1.txt"  -c  -U"sa" -P"xxxxxx"'--使用密码连接
EXEC master..xp_cmdshell  'bcp CACDB_S1000.dbo.tOperator  out d:\currency1.txt  -c  -U"sa" -P"xxxxxx"'--使用密码连接
--在使用密码登录时需要将-U后的用户名和-P后的密码加上双引号。
--或
EXEC master..xp_cmdshell 'bcp "CACDB_S1000.dbo.tOperator" out "d:\currency2.txt"   -c  -T' --使用信任连接
EXEC master..xp_cmdshell 'bcp CACDB_S1000.dbo.tOperator out d:\currency3.txt   -c  -T' --使用信任连接
--(2) 对要导出的表进行过滤
--bcp不仅可以接受表名或视图名做为参数,也可以接受SQL做为参数。通过SQL语句可以对要导出的表进行过滤,然后导出过滤后的记录。(通过查询sql过滤)
EXEC master..xp_cmdshell 'bcp "SELECT TOP 5 * FROM CACDB_S1000.dbo.tOperator" queryout c:\currency4.txt  -c  -U"sa" -P"xxxxxx"'
--bcp还可以通过简单地设置选项对导出的行进行限制 (通过设置第一行,最后一行参数过滤)
EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM CACDB_S1000.dbo.tOperator" queryout d:\currency5.txt  -F 10  -L 13  -c  -U"sa" -P"xxxxxx"'
--这条命令使用了两个参数-F 10和-L 13,表示从SELECT TOP 20 * FROM CACDB_S1000.dbo.tOperator所查出来的结果中取第10条到13条记录进行导出。


--3. 如何使用bcp导出格式文件
--(1)
EXEC master..xp_cmdshell 'bcp CACDB_S1000.dbo.tOperator format nul -f d:\currency_format1.fmt  -c -T'
--上述命令将currency表的结构生成了一个格式文件currency_format1.fmt
--这个格式文件记录了这个表的字段(共3个字段)类型、长度、字符和行分割符和字段名等信息。
--(2) bcp导出xml格式的文件
EXEC master..xp_cmdshell 'bcp "select * from CACDB_S1000.dbo.tPlanManager for xml auto, elements " queryout d:\a1.xml -c  -Usa -Pxxxxxx'


---4. 如何使用bcp导入数据
--复制相同的表结构
SELECT TOP 0 * INTO CACDB_S1000.dbo.tOperator1 FROM CACDB_S1000.dbo.tOperator
--将数据导入到表中
EXEC master..xp_cmdshell 'bcp CACDB_S1000.dbo.tOperator1 in d:\currency1.txt   -c  -T'
--导入数据也同样可以使用-F和-L选项来选择导入数据的记录行
EXEC master..xp_cmdshell 'bcp CACDB_S1000.dbo.tOperator1 in d:\currency1.txt   -c -F 10  -L 13 -T'

--使用普通的格式文件
EXEC master..xp_cmdshell 'bcp CACDB_S1000.dbo.tOperator1 in d:\currency1.txt   -F 10  -L 13 -c  -f d:\currency_format1.fmt -T'
--使用xml格式的格式文件
EXEC master..xp_cmdshell 'bcp CACDB_S1000.dbo.tOperator1 in d:\currency1.txt   -F 10  -L 13 -c  -x -f d:\currency_format2.fmt -T'

 


--使用Transact-SQL进行数据导入导出
--(1).使用SELECT INTO导出数据
--注: 在使用SELECT INTO语句时,INTO后跟的表必须在数据库不存在,否则出错.

--复制表结构同时将旧表中的数据导入新表中
SELECT * INTO tOperator2 FROM tOperator
--把数据复制到另外的数据库中
SELECT * INTO CACDB_Log.dbo.tOperator2 FROM tOperator
--(2).使用INSERT INTO 和 UPDATE插入和更新数据
INSERT INTO table1 SELECT * FROM table2
--或
INSERT INTO db2.dbo.table1 SELECT * FROM table2


UPDATE table1 SET table1.f1=table2.f1, table1.f2=table2.f2 FROM table2
WHERE table1.f1=table2.f1

--2. 使用OPENDATASOURCE和OPENROWSET实现在SQL Server数据库和SQL Server数据库之间的数据导入导出
--(1).SQL Server数据库和SQL Server数据库之间的数据导入导出。

--导入数据
SELECT  * INTO tOperator3
    FROM  OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=127.0.0.1;User ID=sa;Password=xxxxxx'
         ).CACDB_S1000.dbo.tOperator

--导出数据
 INSERT INTO OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=127.0.0.1;User ID=sa;Password=xxxxxx'
         ).CACDB_Log.dbo.tOperator2 select * from CACDB_S1000.dbo.tOperator 

--在这条语句中OPENDATASOURCE(...)可以理解为SQL Server的一个服务,.CACDB_S1000.dbo.tOperator是这个服务管理的一个数据库的一个表tOperator 。使用INSERT INTO时OPENDATASOURCE(...)后跟的表必须存在,并且如果表中的字段为自增字段,则必须先改成非自增字段在插入,否则插入失败。
--导出数据(用OPENROWSET函数实现)
INSERT INTO OPENROWSET('SQLOLEDB','127.0.0.1';'sa';'xxxxxx', 'select * from CACDB_Log.dbo.tOperator2')
  SELECT * FROM CACDB_S1000.dbo.tOperator 

 


SELECT * INTO CACDB_Log.dbo.tOperator2 FROM
   OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=d:\')...[data#txt]


INSERT INTO OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=d:\')...[data#txt] SELECT * FROM CACDB_Log.dbo.tOperator2

 

 

存储过程-----导出数据到文件

CREATE     PROCEDURE  jackeytest11
  
AS

declare @bcpString varchar(1000)
set @bcpString='BCP  "select * from  CACDB_S1000.dbo.tYHJBXX"  queryout "d:\jackeytest.txt" -c -S "localhost" -U "sa" -P "xxxxxx"'
EXEC master..xp_cmdshell @bcpString
GO

分享到:
评论

相关推荐

    sql server数据导入导出

    ### SQL Server 数据导入导出详解 #### 概述 在SQL Server中,数据的导入与导出是一项重要的操作,能够帮助我们实现数据备份、迁移、分析等需求。本文将详细介绍如何利用`bcp`工具进行数据导入导出,并提供相关的...

    SQL SERVER数据导入导出等辅助功能小工具

    在SQL Server数据库管理系统中,数据导入导出是日常管理和维护工作的重要组成部分,它涉及到数据迁移、备份恢复、数据同步等多个方面。本工具集专注于提供这些辅助功能,旨在提高数据库管理员的工作效率。以下将详细...

    sql server 数据库导入导出方法

    SQL Server 数据库导入导出的方法 SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍...

    SQL_SERVER数据导入导出工具

    SQL_SERVER数据导入导出工具是数据库管理中必不可少的辅助软件,尤其对于SQL Server数据库的开发者和管理员来说,它极大地提高了工作效率。此工具主要用于方便、快捷地将数据从SQL Server数据库导出,同时也能进行...

    SQL SERVER 数据的导入导出

    1. **SQL Server Management Studio (SSMS)**:这是最常用的数据导出工具,通过任务(Tasks) -> 导出数据(Export Data),可以选择不同的数据源和目标,支持多种格式如Excel、CSV、文本文件等。你可以设置数据转换规则...

    SQL_SERVER导入导出.rar

    在IT领域,数据库管理是至关重要的,而SQL Server作为一款广泛应用的关系型数据库管理系统,提供了强大的数据导入导出功能。本文将深入探讨SQL Server中的数据导入导出操作,以及如何利用查询分析器进行高效的数据库...

    SQL Server数据库导入导出技术

    SQL Server数据库导入导出技术是数据库管理员和开发人员在整合数据、迁移数据库或进行数据备份时常用的一种功能。SQL Server提供了多种方式进行数据导入和导出,以满足不同场景的需求。下面我们将详细介绍这些方法...

    SQL Server中导入导出数据三方法比较

    ### SQL Server中导入导出数据三方法比较 #### 一、使用方式的比较 ##### 1. 使用Transact-SQL进行数据导入导出 Transact-SQL方法是一种强大的手段,用于将不同来源的数据导入到SQL Server数据库中或从SQL Server...

    C#对SQLServer中的数据导入导出.pdf

    ### C#对SQL Server中的数据导入导出:深入解析与实践 #### 一、引言 在数据库管理系统(DBMS)的应用中,特别是在企业级应用领域,数据的导入与导出是一项常见且至关重要的任务。这不仅涉及到数据的迁移、备份,...

    SQL_Server数据库导入导出专家手册.pdf

    BCP(Bulk Copy Program)是SQL Server提供的一个用于批量导入导出数据的强大工具。它可以将数据从一个表或视图快速地复制到一个文件,或者反之亦然。BCP 支持多种格式,包括文本文件、CSV文件等,并提供了一系列...

    Access、SQLServer、Excel三者之间实现导入与导出

    4. Excel到SQL Server导入:使用SSIS包设计数据流任务,或者通过Excel ODBC连接直接在SQL Server Management Studio中导入。 5. SQL Server到Excel导出:利用SSIS包或T-SQL的SELECT INTO OUTFILE命令生成CSV文件,...

    sql server 2008 导入导出数据大全

    sql server 2008 导入导出数据大全 /******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q - S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入ExcelSELECT * ...

    sql server 2005 导入和导出选择数据源

    在实际应用场景中,常常需要将Excel或Access等办公软件中的数据导入到SQL Server中,或者从SQL Server导出数据到这些办公软件中。SQL Server 2005支持多种办公软件数据源,包括: - **Microsoft Office Excel**:...

    EXCEL与SQL SERVER 的导入与导出

    另一方面,从SQL Server导入到Excel则常用于数据分析和报告编制。通过编写SQL查询获取所需数据,然后利用C#的Microsoft.Office.Interop.Excel库,可以直接将查询结果写入Excel工作表。在这个过程中,你需要创建Excel...

    bcp—SQLServer命令行数据导入导出工具使用总结.txt

    bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。

    SQL Server三种导入导出数据方式比较

    SQL Server 三种导入导出数据方式比较 在本文中,我们将详细比较 SQL Server 中的三种导入导出数据方式:使用 Transact-SQL 对数据进行处理;调用命令行工具 bcp 处理数据;使用数据转换服务(DTS)对数据进行处理...

    Sqlserver表数据导出成Insert语句的工具

    此工具可以将SQL Server表数据导出成Insert语句。SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,此工具可以将SQL Server表数据导出成Insert语句。

    Sql Server 存储过程的导出导入.doc

    本文主要介绍如何在SQL Server中导出和导入存储过程。 首先,导出存储过程的步骤如下: 1. 打开SQL Server Management Studio(简称SSMS),这是一个用于管理SQL Server数据库的强大工具。 2. 在对象资源管理器中...

    SQL_Server数据导入导出工具BCP详解

    SQL Server的BCP(Bulk Copy Program)工具是一个强大的命令行实用程序,用于高效地导入大量数据到SQL Server数据库,或导出数据到文件。在本文中,我们将深入探讨BCP的工作原理、使用方法以及相关最佳实践,以帮助...

Global site tag (gtag.js) - Google Analytics