您當前所在位置:
首頁 →
數據庫 →
MSSQL →
SQL Server SQL語句導入導出大全
SQL Server SQL語句導入導出大全
時間:2015-06-28 00:00:00
來源:IT貓撲網
作者:網管聯(lián)盟
我要評論(0)
- 簡介:微軟SQL Server數據庫SQL語句導入導出大全,包括與其他數據庫和文件的數據的導入導出。
/*******??導出到excel
EXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’
/***********??導入Excel
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’
)
--/* 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:VFP98data;
SourceType=DBF’,
’select * from customer where country != "USA" order by country’)
go
/***************** 導出到DBF ***************/
如果要導出數據到已經生成結構(即現存的)FOXPRO表中,可以直接用下面的SQL語句
insert into openrowset(’MSDASQL’,
’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:’,
’select * from [aa.DBF]’)
select * from 表
說明:
SourceDB=c:??指定foxpro表所在的文件夾
aa.DBF??指定foxpro表的文件名.
/*************導出到Access********************/
insert into openrowset(’Microsoft.Jet.OLEDB.4.0’,
???’x:A.mdb’;’admin’;’’,A表) select * from 數據庫名..B表
/*************導入Access********************/
insert into B表 selet * from openrowset(’Microsoft.Jet.OLEDB.4.0’,
???’x:A.mdb’;’admin’;’’,A表)
*********************??導入 xml 文件
DECLARE @idoc int
DECLARE @doc varchar(1000)
--sample XML document
SET @doc =’
??
Customer was very satisfied
???
???
Important
Happy Customer.
???
’
-- 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
/********************導整個數據庫*********************************************/
用bcp實現的存儲過程
/*
實現數據導入/導出的存儲過程
???根據不同的參數,可以實現導入/導出整個數據庫/單個表
調用示例:
--導出調用示例
----導出單個表
exec file2table ’zj’,’’,’’,’xzkh_sa..地區(qū)資料’,’c:zj.txt’,1
----導出整個數據庫
exec file2table ’zj’,’’,’’,’xzkh_sa’,’C:docman’,1
--導入調用示例
----導入單個表
exec file2table ’zj’,’’,’’,’xzkh_sa..地區(qū)資料’,’c:zj.txt’,0
----導入整個數據庫
exec file2table ’zj’,’’,’’,’xzkh_sa’,’C:docman’,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 ’+i關鍵詞標簽:
相關閱讀
熱門文章
淺談JSP JDBC來連接SQL Server 2005的方法
SqlServer2005對現有數據進行分區(qū)具體步驟
sql server系統(tǒng)表損壞的解決方法
MS-SQL2005服務器登錄名、角色、數據庫用戶、角色、架構的關系
人氣排行
配置和注冊ODBC數據源-odbc數據源配置教程
如何遠程備份(還原)SQL2000數據庫
SQL2000數據庫遠程導入(導出)數據
SQL2000和SQL2005數據庫服務端口查看或修改
修改Sql Server唯一約束教程
SQL Server 2005降級到2000的正確操作步驟
sql server系統(tǒng)表損壞的解決方法
淺談JSP JDBC來連接SQL Server 2005的方法