IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫MSSQL → SQL Server SQL語句導(dǎo)入導(dǎo)出大全

SQL Server SQL語句導(dǎo)入導(dǎo)出大全

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

簡介:微軟SQL Server數(shù)據(jù)庫SQL語句導(dǎo)入導(dǎo)出大全,包括與其他數(shù)據(jù)庫和文件的數(shù)據(jù)的導(dǎo)入導(dǎo)出。

/*******??導(dǎo)出到excel
EXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’
/***********??導(dǎo)入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))+’ ’ 轉(zhuǎn)換后的別名
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
??’Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions

/** 導(dǎo)入文本文件
EXEC master..xp_cmdshell ’bcp "dbname..tablename" in c:DT.txt -c -Sservername -Usa -Ppassword’

/** 導(dǎo)出文本文件
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’

導(dǎo)出到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 數(shù)據(jù)庫
select * from openrowset(’MSDASQL’,
’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:’,
’select * from [aa.DBF]’)
--*/

/**************導(dǎo)入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
/***************** 導(dǎo)出到DBF ***************/
如果要導(dǎo)出數(shù)據(jù)到已經(jīng)生成結(jié)構(gòu)(即現(xiàn)存的)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表的文件名.

/*************導(dǎo)出到Access********************/
insert into openrowset(’Microsoft.Jet.OLEDB.4.0’,
???’x:A.mdb’;’admin’;’’,A表) select * from 數(shù)據(jù)庫名..B表

/*************導(dǎo)入Access********************/
insert into B表 selet * from openrowset(’Microsoft.Jet.OLEDB.4.0’,
???’x:A.mdb’;’admin’;’’,A表)

*********************??導(dǎo)入 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

/********************導(dǎo)整個(gè)數(shù)據(jù)庫*********************************************/

用bcp實(shí)現(xiàn)的存儲過程

/*
實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入/導(dǎo)出的存儲過程
???根據(jù)不同的參數(shù),可以實(shí)現(xiàn)導(dǎo)入/導(dǎo)出整個(gè)數(shù)據(jù)庫/單個(gè)表
調(diào)用示例:
--導(dǎo)出調(diào)用示例
----導(dǎo)出單個(gè)表
exec file2table ’zj’,’’,’’,’xzkh_sa..地區(qū)資料’,’c:zj.txt’,1
----導(dǎo)出整個(gè)數(shù)據(jù)庫
exec file2table ’zj’,’’,’’,’xzkh_sa’,’C:docman’,1

--導(dǎo)入調(diào)用示例
----導(dǎo)入單個(gè)表
exec file2table ’zj’,’’,’’,’xzkh_sa..地區(qū)資料’,’c:zj.txt’,0
----導(dǎo)入整個(gè)數(shù)據(jù)庫
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)??--服務(wù)器名
,@username varchar(200)???--用戶名,如果用NT驗(yàn)證方式,則為空’’
,@password varchar(200)???--密碼
,@tbname varchar(500)???--數(shù)據(jù)庫.dbo.表名,如果不指定:.dbo.表名,則導(dǎo)出數(shù)據(jù)庫的所有用戶表
,@filename varchar(1000)??--導(dǎo)入/導(dǎo)出路徑/文件名,如果@tbname參數(shù)指明是導(dǎo)出整個(gè)數(shù)據(jù)庫,則這個(gè)參數(shù)是文件存放路徑,文件名自動(dòng)用表名.txt
,@isout bit--1為導(dǎo)出,0為導(dǎo)入
as
declare @sql varchar(8000)

if @tbname like ’%.%.%’ --如果指定了表名,則直接導(dǎo)出單個(gè)表
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

關(guān)鍵詞標(biāo)簽:

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系

相關(guān)下載

    人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法