问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQLServer中导入导出数据的三种方式(一)

发布网友 发布时间:2023-04-14 15:30

我来回答

1个回答

热心网友 时间:2023-10-12 08:29

在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战。幸好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。它们的功能基本上相同,不同之处主要有两点。

(1) 调用方式不同。

  OPENDATASOURCE的参数有两个,分别是OLE DB Provider和连接字符串。使用OPENDATASOURCE只相当于引用数据库或者是服务(对于SQL Server、Oracle等数据库来说)。要想引用其中的数据表或视图,必须在OPENDATASOURCE(...)后进行引用。

在SQL Server中通过OPENDATASOURCE查询Access数据库abc.mdb中的table1表

SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=abc.mdb;Persist Security
Info=False')...
table1

  OPENROWSET相当于一个记录集,可以将直接当成一个表或视图使用。

  在SQL Server中通过OPENROWSETE查询Access数据库abc.mdb中的table1表

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'abc.mdb';
'admin';'','SELECT * FROM table1')
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 湖北省高中课程改革网登录入口:gzkg.e21.cn 上班族自带午餐的注意事项有哪些 上班族带午饭的8大注意 上班族带午饭的8大注意事项 推出股指期货新能源和题材股都不能买了吗??、 我在迅雷搜索里下载动画片,没有资源怎么办 哪些减肥零食好吃又不胖 哪些零食吃了不长肉? 减肥的时候吃哪些零食不长胖? 国内比较好用的低代码开发平台有哪些啊? 去江苏苏州国际铁路物流中心培训学习是真的吗 物流跟车员要到总部培训吗 物流师有哪些培训教材 如何培训物流业务员 人类有哪些奇怪的身体现象?你中过几个? 我是河南地区,我家鱼塘喂的是草鱼。这几天不进食,昨天撒啦治疗鱼病的药,今天早上出现啦死亡。 河南濮阳20亩鱼塘能养多少鱼 自媒体软文如何有效植入广告? 梦见两只母女猫被自己杀死的预兆 梦见猫被自己杀了的预兆 梦见自己被猫子杀了的预兆 华呈商业管理招店长真的假的 季季红店长要什么学历 广州酒店招店长有什么方法 火锅店店长好招吗 求《我的老师》冰心的阅读答案 《我的老师》 冰心 阅读题 可以通过那些手机后期功能调整手机摄影的天然缺陷 甲流会和诺如叠加吗 诺如病毒哪些城市有 诺如病毒在中国有吗 赤光剑幻化有特效吗 DNF赤光剑·路易纳斯属性介绍 化妆刷能用开水泡吗 化妆刷用冷水还是热水 简述电信诈骗的种类以及应对措施 中华通网络电话打市话怎么收费 遗传性蛋白C缺陷症怎么治疗? 要是真的有c一以反应蛋白病毒感然要怎么办 让孩子游泳,对提高宝宝智商有什么帮助? 游泳可以让娃更聪明 聚合物锂电池充电器v12附近有卖吗