`

sql server导入 导出数据

阅读更多

sql 表和表之间到导入

表A导入到表B

insert into B Select * from A

表A 的框架结构导入到表B不导入数据

select * into B from A

以下都是参考网上归纳总结的:

select * from OPENROWSET(''MICROSOFT.JET.OLEDB.4.0''
,''Excel 5.0;HDR=YES;DATABASE=c:\1.xls'',sheet2$)

 

导入导出大全    
*******     导出到excel  
EXEC   master..xp_cmdshell   ''bcp   SettleDB.dbo.shanghu   out   c:\temp1.xls   -c   -q   -S"GNETDATA/GNETDATA"   -U"sa"   -P""''  
   
/***********     导入Excel  
select   *   from   openrowset(''MicroSoft.Jet.OleDB.4.0'',  
                                                    ''Excel   5.0;HDR=yes;Database=c:\test.xls'',sheet1$)  
--------------------------------------------------------  
SELECT   *    
FROM   OpenDataSource(   ''Microsoft.Jet.OLEDB.4.0'',  
      ''Data   Source="c:\test.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0'')...xactions  
   
   
SELECT   cast(cast(科目编号   as   numeric(10,2))   as   nvarchar(255))+'' ''   转换后的别名  
FROM   OpenDataSource(   ''Microsoft.Jet.OLEDB.4.0'',  
      ''Data   Source="c:\test.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0'')...xactions  
   
/**   导入文本文件  
EXEC   master..xp_cmdshell   ''bcp   "dbname..tablename"   in   c:\DT.txt   -c   -Sservername   -Usa   -Ppassword''  
   
/**   导出文本文件  
EXEC   master..xp_cmdshell   ''bcp   "dbname..tablename"   out   c:\DT.txt   -c   -Sservername   -Usa   -Ppassword''  
或  
EXEC   master..xp_cmdshell   ''bcp   "Select   *   from   dbname..tablename"   queryout   c:\DT.txt   -c   -Sservername   -Usa   -Ppassword''  
   
导出到TXT文本,用逗号分开  
exec   master..xp_cmdshell   ''bcp   "库名..表名"   out   "d:\tt.txt"   -c   -t   ,-U   sa   -P   password''  
   
   
BULK   INSERT   库名..表名  
FROM   ''c:\test.txt''  
WITH   (  
          FIELDTERMINATOR   =   '';'',  
          ROWTERMINATOR   =   ''\n''  
)  

 

jackey  2009.06.23 实例:

 

实例 1 导出

CREATE     PROCEDURE  jackeytest11
  
AS

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

实例 2 导出

EXEC   master..xp_cmdshell   'bcp   "CACDB_S1000.dbo.tYHJBXX111"  out   "d:\bbb.txt"   -c  -S "localhost"   -Usa   -P "xxxxxx"'  

 

实例 3 导入

 

EXEC   master..xp_cmdshell   'bcp   "CACDB_S1000.dbo.tYHJBXX111"  in   "d:\aaa.txt"   -c  -S "localhost"   -Usa   -P "xxxxxx"'

 

 

实例 4 导入

BULK   INSERT   CACDB_S1000.dbo.tYHJBXX111  
FROM   'd:\aaa.txt' 
WITH(  
    FIELDTERMINATOR='\t',  
    ROWTERMINATOR='\n' 
 )

实例 5  导出到excel  

EXEC   master..xp_cmdshell   'bcp   "CACDB_S1000.dbo.tYHJBXX111"  out   "d:\temp1.xls"   -c  -S "localhost"   -Usa   -P "xxxxxx"'  

 

实例 6  复制表结构 同时也把表中的数据复制到新表中(执行此操作时 新的表名在数据库中不应该存在)

select * into tYHJBXX222 from tYHJBXX 

 


实例 7 

/*  
用bcp实现的存储过程  

实现数据导入/导出的存储过程  
                    根据不同的参数,可以实现导入/导出整个数据库/单个表  
调用示例:  
--导出调用示例  
----导出单个表  
exec   file2table   'localhost','sa','xxxxxx','CACDB_S1000.dbo.tYHJBXX','d:\tYHJBXX.txt',1
  
----导出整个数据库  (执行该操作之前要先在d盘根目录下建d:\CACDB_S1000文件夹)
exec   file2table   'localhost','sa','xxxxxx','CACDB_S1000','d:\CACDB_S1000',1  
   
--导入调用示例  
----导入单个表   (执行此操作前,表必须在数据库中存在)
exec   file2table   'localhost','sa','xxxxxx','CACDB_S1000.dbo.tYHJBXX','d:\tYHJBXX.txt',0  
----导入整个数据库 
exec   file2table   'localhost','sa','xxxxxx','CACDB_S1000','d:\CACDB_S1000',0  
   
*/  

if   exists(select   1   from   sysobjects   where   name='File2Table'   and   objectproperty(id,'IsProcedure')=1)  
drop   procedure   File2Table  
go  
create   procedure   File2Table  
@servername   varchar(200)--服务器名  
,@username   varchar(200)--用户名,如果用NT验证方式,则为空''''  
,@password   varchar(200)--密码  
,@tbname   varchar(500)--数据库.dbo.表名,如果不指定:.dbo.表名,则导出数据库的所有用户表  
,@filename   varchar(1000)--导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt  
,@isout   bit--1为导出,0为导入  
as  
declare   @sql   varchar(8000)  
   
if   @tbname   like   '%.%.%'   --如果指定了表名,则直接导出单个表  
  begin  
    set   @sql='bcp   '+@tbname  
    +case   when   @isout=1   then   '   out   '   else   '   in   '   end  
    +'   "'+@filename+'"   /w'  
    +'   /S   '+@servername  
    +case   when   isnull(@username,'')=''   then   ''   else   '   /U   '+@username   end  
    +'   /P   '+isnull(@password,'')  
    exec   master..xp_cmdshell   @sql  
  end  
else  
  begin--导出整个数据库,定义游标,取出所有的用户表  
   declare   @m_tbname   varchar(250)  
   if right(@filename,1)<>'\'   set   @filename=@filename+'\'  
   
   set   @m_tbname='declare   #tb   cursor   for   select   name   from   '+@tbname+'..sysobjects   where   xtype=''u'''  
   exec(@m_tbname)  
   open   #tb  
   fetch   next   from   #tb   into   @m_tbname  
   while(@@fetch_status=0)  
     begin  
      set   @sql='bcp   '+@tbname+'..'+@m_tbname  
      +case   when   @isout=1   then   '   out   '   else   '   in   '   end  
      +'   "'+@filename+@m_tbname+'.txt"   /w'  
      +'   /S   '+@servername  
      +case   when   isnull(@username,'')=''   then   ''   else   '   /U   '+@username   end  
      +'   /P   '+isnull(@password,'')  
      exec   master..xp_cmdshell   @sql  
      fetch   next   from   #tb   into   @m_tbname
     end
   close #tb
   deallocate #tb
end

GO

 

 


   
--/*   dBase   IV文件  
select   *   from    
OPENROWSET(''MICROSOFT.JET.OLEDB.4.0''  
,''dBase   IV;HDR=NO;IMEX=2;DATABASE=C:\'',''select   *   from   [客户资料4.dbf]'')  
--*/  
   
--/*   dBase   III文件  
select   *   from    
OPENROWSET(''MICROSOFT.JET.OLEDB.4.0''  
,''dBase   III;HDR=NO;IMEX=2;DATABASE=C:\'',''select   *   from   [客户资料3.dbf]'')  
--*/  
   
--/*   FoxPro   数据库  
select   *   from   openrowset(''MSDASQL'',  
''Driver=Microsoft   Visual   FoxPro   Driver;SourceType=DBF;SourceDB=c:\'',  
''select   *   from   [aa.DBF]'')  
--*/  
   
/**************导入DBF文件****************/  
select   *   from   openrowset(''MSDASQL'',  
''Driver=Microsoft   Visual   FoxPro   Driver;  
SourceDB=e:\VFP98\data;  
SourceType=DBF'',  
''select   *   from   customer   where   country   !=   "USA"   order   by   country'')  
go  

 

*********************     导入   xml 文件  
   
DECLARE   @idoc   int  
DECLARE   @doc   varchar(1000)  
--sample   XML   document  
SET   @doc   =''  
<root>  
      <Customer   cid=   "C1"   name="Janine"   city="Issaquah">  
              <Order   oid="O1"   date="1/20/1996"   amount="3.5"   />  
              <Order   oid="O2"   date="4/30/1997"   amount="13.4">Customer   was   very   satisfied  
              </Order>  
        </Customer>  
        <Customer   cid="C2"   name="Ursula"   city="Oelde"   >  
              <Order   oid="O3"   date="7/14/1999"   amount="100"   note="Wrap   it   blue    
                            white   red">  
                          <Urgency>Important</Urgency>  
                          Happy   Customer.  
              </Order>  
              <Order   oid="O4"   date="1/20/1996"   amount="10000"/>  
        </Customer>  
</root>  
''  
--   Create   an   internal   representation   of   the   XML   document.  
EXEC   sp_xml_preparedocument   @idoc   OUTPUT,   @doc  
   
--   Execute   a   SELECT   statement   using   OPENXML   rowset   provider.  
SELECT   *  
FROM   OPENXML   (@idoc,   ''/root/Customer/Order'',   1)  
              WITH   (oid           char(5),    
                          amount     float,    
                          comment   ntext   ''text()'')  
EXEC   sp_xml_removedocument   @idoc   
   

 

 

分享到:
评论

相关推荐

    sql server 数据库导入导出方法

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

    SQLServer 导入导出小工具(c#)

    SQLServer导入导出小工具(c#)是一个实用的应用程序,它允许用户方便地将数据从不同的源导入到SQL Server数据库,或者从SQL Server导出到其他格式。这个工具是用C#编程语言编写的,这表明开发者利用了C#的强大特性...

    sqlserver 导入导出工具

    "sqlserver 导入导出工具"是针对这一需求设计的一款应用,由C#语言编写,能够帮助用户方便地完成数据的导入和导出。 该工具的一大特点是可以导出SQL脚本,这是一种常见的数据备份方式。SQL脚本包含了创建数据库对象...

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

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

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

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

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

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

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

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

    EXCEL与SQL SERVER 的导入与导出

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

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

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

    SQL Server导入导出数据时最常见的一个错误解决方法

    在使用SQL Server导入导出向导时,关键在于处理标识列,也就是那些自增的主键列。在“选择源表和源视图”页面,勾选要导入的表后,点击“编辑映像”按钮。在这里,找到“ID”列或其他类似的标识列,然后勾选“启用...

    SQL_SERVER数据导入导出工具

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

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

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

    SQL Server SQL语句导入导出大全

    简介:微软 SQL Server 数据库 SQL 语句导入导出大全,包括与其他数据库和文件的数据的导入导出。下面是 SQL Server SQL 语句导入导出大全的详细知识点。 导出到 Excel 为了将数据导出到 Excel,使用 EXEC master....

    SQL Server数据库导入导出技术

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

    SQL_SERVER导入导出.rar

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

    SQL SERVER自动导出Word数据库文档

    6. **PowerShell**:另一种方法是使用PowerShell,它提供了丰富的SQL Server模块,可以调用SQL命令行工具(如sqlcmd或bcp)来导出数据,然后通过PowerShell脚本控制Word文档的操作。 7. **Third-party Tools**:...

    第三讲 SQL Server2000数据导入导出

    SQL Server提供了命令行方式来导入导出数据,通常使用`BCP`(Bulk Copy Program)和`OPENROWSET`函数。 - **BCP命令**:用于批量导入和导出数据。例如,`bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S...

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

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

Global site tag (gtag.js) - Google Analytics