sql server 2008 导入导出数据大全

合集下载

SQLServer中数据导入导出三种方法

SQLServer中数据导入导出三种方法

当我们建⽴⼀个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进⾏数据检验、净化和转换时,将会⾯临很⼤的挑战。

幸好SQL Server为我们提供了强⼤、丰富的数据导⼊导出功能,并且在导⼊导出的同时可以对数据进⾏灵活的处理。

在SQL Server中主要有三种⽅式导⼊导出数据:使⽤Transact-SQL对数据进⾏处理;调⽤命令⾏⼯具BCP处理数据;使⽤数据转换服务(DTS)对数据进⾏处理。

这三种⽅法各有其特点,下⾯就它们的主要特点进⾏⽐较。

⼀、使⽤⽅式的⽐较 1. 使⽤Transact-SQL进⾏数据导⼊导出 我们很容易看出,Transact-SQL⽅法就是通过 SQL语句⽅式将相同或不同类型的数据库中的数据互相导⼊导出或者汇集在⼀处的⽅法。

如果是在不同的SQL Server数据库之间进⾏数据导⼊导出,那将是⾮常容易做到的。

⼀般可使⽤SELECT INTO FROM和INSERT INTO。

使⽤ SELECT INTO FROM时INTO后跟的表必须存在,也就是说它的功能是在导数据之前先建⽴⼀个空表,然后再将源表中的数据导⼊到新建的空表中,这就相当于表的复制(并不会复制表的索引等信息)。

⽽INSERT INTO的功能是将源数据插⼊到已经存在的表中,可以使⽤它进⾏数据合并,如果要更新已经存在的记录,可以使⽤UPDATE。

SELECT * INTO table2 FROM table1 --table1和table2的表结构相同 INSERT INTO table2 SELECT * FROM table3 --table2和table3的表结构相同 当在异构数据库之间的进⾏数据导⼊导出时,情况会变得复杂得多。

⾸先要解决的是如何打开⾮SQL Server数据库的问题。

在SQL Server中提供了两个函数可以根据各种类型数据库的OLE DB Provider打开并操作这些数据库,这两个函数是OPENDATASOURCE和OPENROWSET。

SQL Server 2008导入、导出数据库

SQL Server 2008导入、导出数据库

1.使用Sql Server Management Studio 2008 连接数据库。

2.选中要导出数据的数据库节点,点鼠标右键,在菜单中选择“任务”->“生成脚本”,如图:3。

在弹出的界面中,点2次“下一步”进入如图界面中,把“编写数据的脚步”置为true。

4。

其它的操作点“下一步”即可。

下图是最后生成的Sql脚本:注意:这里一定要使用Sql Server Management Studio 2008,其它版本不行。

SQL Server 2008将数据导出为脚本从SQL SERVER 2008开始,我们就可以很方便的导出数据脚本,而无需再借助存储过程(但是SQL Server 2012和SQL Server 2008的导出脚本的过程还有一点细微的差别)开始:选择要操作的数据库--右键--》任务---》生成脚本这个编写数据脚本改为是true,表示是表里的数据也一起生成sql脚本然後再下一步>>這裡自己选择脚本的保存路径, 然后下一步>>下一步>>完成就得了~下面是导入sql server 2008如何导入mdf,ldf文件将mdf,ldf文件导入到sql server 2008数据库当中(1)选择右击数据库(2)然后点击“附加”。

出现下面的界面。

然后选择添加,添加上你要添加的mdf文件即可。

Sqlserver2008附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法Sql Server2008附加数据库文件时弹出错误信息:如下图:可能大家都遇到过这种问题,解决方案如下:方案一:切换登录方式出现这种情况是由于用“混合验证方式”(SQL Server身份验证)登录数据库造成的,只要将登录方式改为“windows 身份验证方式”登录即可解决该问题,附加成功后再换用“混合验证模式”登陆就没问题了。

方案二:修改服务选择所有程序-SQL Server 2005-配置工具-选择"SQL Server Configuration Manager"或者“SQL Server 配置管理器”,打开“SQL Server Configuration Manager”配置界面,在左侧选择"SQL Server 2008 服务",在右侧右击打开“SQL Server (SQLEXPRESS)”的属性,在内置账户处将网络服务--”Network Service”改为本地系统--"Local System",点击“重新启动”后再附加数据库就OK了。

sql server 2008 怎么导入数据库图解

sql server 2008 怎么导入数据库图解

sql server 2008 怎么导入数据库图解INSERT INTO 表SELECT * FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)的形式如果是导入数据并新增表,则采用SELECT * INTO 表FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)的形式。

以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERT INTO 表(a1,a2,a3) SELECT a1,a2,a3 FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)其实可以将OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:INSERT INTO eval_channel_employee(channel,employee_id)SELECT CASE a.渠道WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN'KCM' THEN 2 ELSE 3 END,b.id FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) ASa,pers_employee bWHERE a.员工编码=b.code简单的方法:SQL2005中直接可以实现导入功能SQL2008不知道可不可以。

SqlServer2008如何将数据表导出Excel文件?

SqlServer2008如何将数据表导出Excel文件?

SqlServer2008如何将数据表导出Excel⽂件?
1、⾸先在测试数据库中创建要导出Excel的数据
--创建⼀个民族表--
create table BdsNation(
Uid int not null,
Code varchar(10) not null,
Name varchar(20) not null,
Notes varchar(59) null
)
--插⼊数据
insert into BdsNation(Uid,Code,Name,NOtes)
values(1,'001','汉族','汉族123');
insert into BdsNation(Uid,Code,Name,NOtes)
values(2,'002','满族','满族123');
--查询数据--
select*from BdsNation;
2、导出数据的操作步骤
1)右键数据库,选择任务-->导出数据
2)选择数据源,默认Sql Server版本,默认导出数据库,点击下⼀步
3)选择导出⽬标,选择Microsoft Excel,选择要导出Excel路径,点击下⼀步
4)指定表复制或查询,第⼀种复制⼀个表数据,第⼆种可根据查询复制数据
5)选择源表和源视图,选择导出数据表,点击下⼀步
6)查看数据类型映射,点击下⼀步
7)保存并运⾏包,点击完成
8)点击完成,出现执⾏成功
3、导出后,打开Excel⽂件,查看结果。

SQL Server 2008数据库 怎么样导出Excel表格数据

SQL Server 2008数据库 怎么样导出Excel表格数据

SQL Server 2008数据库怎么样导出Excel表格数据方法一:查询完之后在结果栏里按CTRL+A将结果全选,按右键选择“将结果另存为...”,然后保存为“*.csv”文件,就可以用excel打开了。

或者“连同标题一起复制”,然后将结果拷贝到excel表中就可以了。

方法二:登录到数据库SQL Server 2008 中,图片中的‘.’表示local的意思。

1. 2在需要操作的数据库上右键之后选择任务再之后导出数据功能,例子中以DB_Test数据库做演示。

2. 3进入SQL Server 2008的数据导入与导出向导,之后点击下一步(next)。

3. 4选择服务器名称为local,例子中是'.',数据库为DB_Test。

实际中以真实数据库为主,以上只是演示实例,之后点击下一步。

4. 5选择导出的目标为Excel,数据库为默认值即可,选择Excel的文件路径之后点击下一步按钮继续操作。

5. 6下一个页面采用默认设置,之后点击下一步按钮。

选择数据库中即将要导出数据的具体表,可以通过预览按钮查看数据,之后点击下一步按钮。

6.7之后点击下一步,再之后选择立即运行按钮与下一步。

再点击完成按钮,最后点击关闭按钮即可。

7.8最后,打开我们的Excel表格文件,验证数据,可以看到图片中已经有数据了,这样SQL Server 2008已经正确导出数据来了。

END经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

SQL SERVER 数据转换 数据导入与导出

SQL SERVER 数据转换 数据导入与导出

SQL Server 数据转换
(4)选定目标数据库后,单击“下一步”按钮, 选定目标数据库后,单击“下一步”按钮, 则出现指定表复制或查询对话框,如图9-32所示。 所示。 则出现指定表复制或查询对话框,如图 所示 单击“下一步”按钮, (5)单击“下一步”按钮,则出现选择源表和 视图对话框,如图9-33所示。 所示。 视图对话框,如图 所示 单击“下一步”按钮,则会出现保存、 (6)单击“下一步”按钮,则会出现保存、调 度和复制包对话框,如图9-36所示。 所示。 度和复制包对话框,如图 所示 单击“下一步”按钮, (7)单击“下一步”按钮,就会出现导出向导 结束对话框,如图9-37所示。 所示。 结束对话框,如图 所示
2. 导入文本文件数据库
启动企业管理器,展开选定的服务器, (1)启动企业管理器,展开选定的服务器, 用右键单击该服务器图标, 用右键单击该服务器图标,从快捷菜单中选择 所有任务( 所有任务(all tasks),然后再从子菜单中选 ) 择导入数据,启动数据导入向导工具, 择导入数据,启动数据导入向导工具,就会出 现欢迎使用向导对话框,如图9-1所示 所示。 现欢迎使用向导对话框,如图 所示。 单击“下一步”按钮, (2)单击“下一步”按钮,则出现选择数据 源对话框,如图9-18所示。 所示。 源对话框,如图 所示 在图9-18中单击“下一步”按钮,则出 中单击“ (3)在图 中单击 下一步”按钮, 现选择文件格式对话框,如图9-20所示。 所示。 现选择文件格式对话框,如图 所示 单击“下一步”按钮, (4)单击“下一步”按钮,则出现指定列分 隔符对话框,如图9-21所示。 所示。 隔符对话框,如图 所示
图9-10 选择目标数据库对话框
SQL Server 数据转换
图9-11 指定表复制或查询对话框

sql2008数据库表结构导入导出

sql2008数据库表结构导入导出

Sql2008数据库表结构导出导入
昨天做了件很悲催的事情,用了drop table语句,将OA系统中的WorkPlan表删除,当然,数据是全部丢了,现在最主要的事情是赶紧恢复表,刚刚开始时手动建表,建好后前台输入数据还是无法存储,分析原因是由于表结构变化导致的,由于此表关联了好几张表,因此,只要表结构发生变化,数据将无法存储。

因此,只有找以前的数据库备份,将备份的表结构导出,再倒入到OA数据库即可,具体操作如下:
1.将备份数据库倒入sql Server2008数据库,即ecology71
2.找到备份数据库的WorkPlan表
3.右键:【编写表脚本为】-【CREATE到】-【新查询编辑器的窗口】
4.将创建的脚本全部复制
5.打开已删除WorkPlan表的数据库ecology70,选中【表】
6.点【新建查询语句】
7.将刚刚复制的脚本粘贴到打开的【新建查询语句工作区】
8.注意:将数据库名称改为ecology70,此处的名称为复制时的数据库名称
9.改名后刷新数据库,即可。

另外,刚刚导入的ecology71参考数据库也已删除。

SQLServer数据库中批量导入数据的四种方法

SQLServer数据库中批量导入数据的四种方法

SQLServer数据库中批量导入数据的四种方法在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。

其实,在SQL Server中集成了很多成批导入数据的方法。

有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟。

现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些。

第一:使用Select Into语句若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入。

Select Into语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中。

在使用这条语句的时候,需要注意几个方面的内容。

一、是需要在目的数据库中先建立相关的表。

如想把进销存系统数据库(SQLServer)中的产品信息表(Product)导入到ERP系统中的产品信息表(M_Product)中。

则前期是在ERP系统的数据库中已经建立了这张产品信息表。

二、是这种方法只复制表中的数据,而不复制表中的索引。

如在进销存系统数据中的产品信息表中,在产品编号、产品种类等字段上建立了索引。

则利用Select Into语句把数据复制到ERP系统的表中的时候,只是复制了数据内容的本身,而不会复制索引等信息。

三、是这条语句使用具有局限性。

一般情况下,这只能够在SQL Server数据库中采用。

不过,对于SQL Server不同版本的数据库,如2008或者2003,还都是兼容的。

若需要导入的对象数据库不是SQL Server的,则需要采用其他的方法。

四、是采用这条语句的话,在目的表中必须不存在数据。

否则的话,目的表中的数据会被清除。

也就是说,这个语句不支持表与表数据的合并。

在SQL Server中,有一条类似的语句,可以实现这个功能。

这条语句就是:Insert Into。

他的作用就是把另外一张表中的数据插入到当前表中。

若用户想要的时表与表数据的合并,则可以采用这条语句。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sql server 2008 导入导出数据大全/******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q - S"GNETDATA/GNETDATA" -U"sa" -P""'/*********** 导入ExcelSELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.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=Excel5.0')...xactions/********************** EXCEL导到远程SQLinsert OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名(列名1,列名2)SELECT 列名1,列名2FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.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 * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料4.dbf]')--*/--/* dBase III文件select * fromOPENROWSET('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;UserID=Admin;Password=;')...产品********************* 导入xml文件DECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @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 bluewhite 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/**********************Excel导到Txt****************************************/想用select * into opendatasource(...) from opendatasource(...)实现将一个Excel文件内容导入到一个文本文件假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文件后分两部分,前8位和后8位分开。

相关文档
最新文档