现在我有一个数据库student,一张表stu,如何导出其中的数据,和导入外部数据?要有详细的说明,关键是对SQL语句的解释,和执行方式?谢谢

解决方案 »

  1.   

    /******* 导出到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 /*动态文件名 
    declare @fn varchar(20),@s varchar(1000) 
    set @fn = 'c:\test.xls' 
    set @s ='''Microsoft.Jet.OLEDB.4.0'', 
    ''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0''' 
    set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$' 
    exec(@s) 
    */ 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 /********************** EXCEL导到远程SQL 
    insert OPENDATASOURCE( 
    'SQLOLEDB', 
    'Data Source=远程ip;User ID=sa;Password=密码' 
    ).库名.dbo.表名 (列名1,列名2) 
    SELECT 列名1,列名2 
    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:\VFP98\data; 
    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表) 文件名为参数 
    declare @fname varchar(20) 
    set @fname = 'd:\test.mdb' 
    exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'', 
    '''+@fname+''';''admin'';'''', topics) as a ') SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
    'Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...产品 ********************* 导入 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