SQLSERVER对单个表部分数据导出导入.docx
《SQLSERVER对单个表部分数据导出导入.docx》由会员分享,可在线阅读,更多相关《SQLSERVER对单个表部分数据导出导入.docx(24页珍藏版)》请在冰点文库上搜索。
SQLSERVER对单个表部分数据导出导入
SQLSERVER一个表中的部分查询数据导入另一个表中的方法:
一、若源表与目标表同在一台机器上,直接写SQL®句即可:
源表名:
prdproductinfo_Source称目标表名:
PrdProductInfo_Goal
INSERTINTO[PrdProductInfo_Goal]
([productTypeCode]
[productTypeName]
[productModelId]
[productModelCode]
[productModelName]
[productModelSpec]
[productCode]
[productName]
[madePlace]
[packageLanguage]
[devicesNumber]
[madeBatchNumber]
[madeCommandOrder]
[madeDate]
[outDate])
(select[productTypeCode]
[productTypeName]
[productModelId]
[productModelCode]
[productModelName]
[productModelSpec]
[productCode]
[productName]
[madePlace]
[packageLanguage]
[devicesNumber]
[madeBatchNumber]
[madeCommandOrder]
[madeDate]
[outDate]fromprdproductinfo_Source)
二、若源表与目标表不在同一台机器上,则可先将源表中的数据导出到
EXCE呼,再将EXCELS的数据导入到目标表中。
操作步骤如下:
A、将源表中的数据导出到EXCELS,步骤如下:
1、选中数据库,右键-任务-点击“导出数据”,如下图:
III机£]性I厦日上1ISHl^LJID杜区<£】4W#a>
;4*i建理询哟L2i泓幽陨Q3担快&习防巨龄半刍显
抽:
丁幻■LJ嘤.Y翕|注咆寻Q3
-—密性摩由声
tew平菇m古xj...
土试沏虹i£j..
与入数JE①.
Sh云鹿IT一「
5;!
睥焜市。
2、点击下图中的“下一步”:
■甄LServer导入和导出向导
►欢迎使用SQLServer导入和导出向导
此肯导W蓉助恋引逢简单包,队便在萎神若用数据格式(包括散据库、咤亍液格和丈奉女件)Z旬导入和早廿数舟此可争柯削祥目桥纫R匪和审干猫人数裾E存.
rT■再显晶此起始页
〈上2(E;
S_^4IIUJIII4—SLI:
_ailia—.:
I4S_S.I
LT一莎噬2Li
充成矽”l
3、在“选择数据源”窗口,保持默认值,点击“下一步”:
4、在"选择目标”窗口,在"目标"项的下拉框中,选择"MicrosoftExcel”
在Excel文件路径一栏后,点击"浏览”,选择要导出的Excel文件的存放路径及Excel名称。
点击“下一步”
5、在“指定表复制或查询”界面,选中“编写查询以指定要传输的数据”
-口[>|
■实!
.导入导出问导
指定表翼制或音询
指定是从数富濯豆个贰苗个戒和视0,<E朝射N诬复制堂间活果-
<号费1个或身个震或很IWHC]
心4项用于复制;®数菟阵中现有素或视囹的至言解施・
in■y■B^UI■I■■■I■■LMl■BIli^UI■■■■■■inuui■■■■■■■^MJLBJULBUl&a■■■nHlB■I
气,与查胃以街定琛,快演
E淋项用于顾5Q-查洵,以便的芭制揉作的脚姬进行揉机荥限制.
〈上一^四ff四>]里洎
点击“下一步
6、在“提供源查询”窗口中,输入要导出的SQL语句,
■实!
.导入导出问导
提供渣杳询
键入用于从沥壅构原逸择数富的53L酒句.
SQL语句(为:
duLctlypeCole]
SELECT[jFQdactlnfckldJjtrr,j'二=,diiitLlypel扣1+[pr'3duetlVod«IIl][jrodmctlfoiielC^dje]?
LproductNodelNameJ,[srodactHoielSpecJ』r^rsduictCfll^lKf^rodiictFfiirii^l
#
o.ca
[mTiPly]
jazk-a^QLiUL^il-a^a],[lexiccaFunlbiar]j[inhJwber]
*[madeCuniiajidJOt*der]
FEDM[Sd^€3C20133222][cbd[frdJ'rfldictlnfo]whereprDdactcotelika"17161029L0L2(J44fl2i232D6Kj
分祈:
E)|谢I—®,
〈上一^四ff四>]里洎
可以点击“分析”,来判断所写的SQL语句语法是否有误。
点击“下一步”
7、在“选择源表和源视图”窗口中,目标栏下方的“查询”可以对其修改,所改的名称将是Excel选项卡的名称,在导入时,将会是导入的表的名称。
修改目标项为:
prdproductinfo_1
点击“下一步
8、打开“保存并执行包”窗口
判L5erm导入商导出问导
保存并执行包
指亲是否侃.存tSIC乜。
[7四健®
俱存
r保存:
ssis包o
f?
CjLC=i加切
rir件系筑⑴
〈上r四ff四>芫防叨河|眼洎
点击“下一步
9、打开“完成该向导”窗口。
点击“完成”,
10、打开“执行成功”窗口。
至此,导出EXCELS成。
B、将EXCELS的数据导入到目标表中:
1、选中目标数据库,右键--任务--点击“导入数据”,如下图:
■aHierosoEt.SQLSferva-rBaLiifligABBSLtStuulio
文件(D视囹叩工且(I)街口叫社区©布助叩
:
以|山|沔酷曲|函|净曹成113」险耳禳占亏岷
对蒙资i原管理器,甲x
HI3NET-3IQABF4CB87(SQLStvvcr9.0.3O4Z-
Sal己08
NKT-34CJ16F4C:
B|_3数据库
-系场数摇库
1+'二数据摩快照
Baaaal
+.+.土Ea
i5al^O03O_2|
服务器肘貌堂制
管在
NoIi£iciktien!
SQLServer代
新建数据库®...
融建查洵成)
细写翻据库脚本为或
任冬d)
报衰
重命名皿
11除(£)
刷新口
触龟)
名称
|H3哀
给离皿...
脱机d)
联机叫
收相®♦
备挣®...
还原屈♦
ttft噬...
启动数据庠情燃超视器也)..
佳送事罟日志©一一
生成脚本0..
导我数据II)..
导出数据ox.
复制数据g一一
打开如下界面:
2、点击“下一步”,打开“选择数据源”窗口,
点击“浏览”
在"数据源"一栏中,选择aMicrosoft
选中之前导出的"prdproductinfo.xls
Excel”,在Excel文件路径一栏中,”,点击“下一步”。
“数据库名称”
3、打开“选择目标”窗口,在此窗口中,保持“目标”及“服务器名称”、
默认值,
点击“下一步”
4、打开“指定表复制或查询”窗口,选中“复制一个或多个表或视图的数据”
■实!
.导入导出问导
指定表翼制或音询
指定是从数富濯豆个贰苗个戒和视0,,“我T靠书激岫嬲曲
尤也项月于复制施菟阵中现有耒或视囹的*莓推.
L编写查询以宿定安隘蹈魄也
临匿项用于寐瓯查海,以僵对复制揉作的脚姬进行揉机荥限制.
襦由⑪
〈上一^四ff四>]里洎
点击“下一步”
5、在打开的“选择源表和源视图”窗口中,选中第一行复选框,
(1)如果是想新建一个空表的话,则直接在目标列中输入新的表名即可,在此界面中直接点击“编辑”,弹出“列映射”窗口,如下图:
(创建目标表)
prdpj-□
[SdcOS3O_3OLWLQVUQJ【p■如■而"汴株」]
L舶瓯H谅中盐石i.-L:
广间日碎e迫丁市江:
朝
目荀
英型
就龙■空也|
A小
心
[小敏.
cd^ctlzif'ald
『t■血苗tTnfmd
fl®it
P
W「durtTyi(C
prtdiiftTniCrtCf8
TtTtrrlhfcr
jrweliir
hUC
ji*cduetN^dell4
flcat
p
prcduetMdd.elCcde
preIncde
HT*Tchu-
A
nm
DfidueIN1cidftllTge
prvduellfodeltfunig
nwcliv
T
g
fireductNcdilSftc
『罪尊duet"*di!
S;[《c
wwkir
W
nut
EUftdUJCtCtdt
》】vluctCudt
jwuch心
J
IIu
卫冒cduetl5<
pt
w出廿
P
r(u
na£«Tlace
nHwT2.aE
u?
aidial
W
ricix
f■s.irL'-fi.ral.-tjm
*DSLfLiUlGU
TlViT!
?
L-i.T
niKZ*
rJS同标仰取口:
圈麒!
L
二]
在该窗口中,可以看到,默认选中"创建目标表"单选钮,且该单选项不能手工进行选择。
此时只能是新建一个表,新建的表名,即界面上方的“目标”项。
(2)如果是想在已有的表中追加行数据的话,则在目标列的下拉框中选中要导入数据的目标表。
如下图:
点击映射列的“编辑”,弹出“列映射”窗口,如下图:
(向已有的表中追加行数据)
选中“启用标识插入”,点击“确定”。
6、在“选择源表和源视图中”,点击“下一步”。
出现如下界面:
7、点击“下一步”,出现“完成该向导”界面:
8、在“完成该向导”界面,点击“完成”:
至此导入数据成功完成。
三、下面介绍一下在导入过程中碰到的一些异常问题的解决方法:
1、在导入过程最后,出现下面的错误界面:
点击“消息”,弹出“查看报告”界面,如下图:
查看表字段类型发现,productTypeCode等字段类型为:
varchar,而EXCELS入时,会将
这些字符以类型为:
nvarchar的形式导入。
解决方法:
A、将表中varchar类型的字段修改为:
nvarchar类型。
8导入一个临时表,再通过SQL语句导入。
Insertinto目标表名(目标字段名1,目标
字段名2,…,目标字段名n)(select源字段名1,源字段名2,…,源字段名nfrom源表名)。
如:
INSERTINTO[PrdProductInfo]
([productTypeCode]
[productTypeName]
[productCode]
[productName]
)
(SELECT[productTypeCode]
[productTypeName]
[productCode]
[productName]
fromprdproductinfoxx)
三、varchar和nvarchar的区别:
varchar在SQLSERVER据库中采用单字节来存储的且非Unicode的字符数据。
Nvarchar是使用Unicode来存储数据的。
中文字符存储到SQLSERVED会保存为两个字节(一般采用Unicode编码),正常情况下,varchar也可以存储中文字符。
即:
中文字符无论是用varchar还是nvarchar
类型存储存储,都是占两个字节。
英文字符保存到数据库中,如果是varchar类型,则只会占用一个字节,如果是nvarchar类型,则占用两个字节。
如:
两个字段分别有字段值:
我和coffee
那么varchar字段占:
2X2+6=1叶字节的存储空间,而nvarchar字段占8X2=16^字
节的存储空间。
如:
字段值只是英文可选择varchar,而字段值存在较多的中文字符时用nvarchar。
四、SQLSERVER导入导出时报如下错误时的解决方法:
错误0xc00470fe:
数据流任务:
产品级别对于组件“源-TestDB01$”
(1)而言
不足
只需安装:
SQLServer2005SP1
可选择32位系统或64位系统。
32位是X86
五、如何得知SQLServer2005ServicePack目前的版本是多少,
我的电脑---右键---管理---点开“服务和应用程序”
计砒1肯迎
皇艾件里〕M姻董看9和叫珂^®J旬1旦1&
■>■匡1用|£1昭暧困
司•J牛亍》件玉
+i®宰地用户削-翻性即u志*■咎建圈没详菖理器
3饵
玉4可专诃略
6褪瓦府片荏W程序
争曲fir廿岸
麝邱若祸与程字
11J电话健普
«imfflM
司亩湖.甜rv-r『者纣■制
肝务
皿皿.职30L皿SQL
益...罕皆皆卫屈碧
S*叫登
正打
B^j
rravt
Strvirr
F见I“「L5*y-,chfN
正而云行
LoodS
Scrvti-
WESSjLJZE^EQ
正在运行
自可
功2$
Ffirvtr
Art^lpsiAnrinw
正莅低行
自可
T^r-filS
Servtir
EUp»rtijicSerTL?
^3,,
正暧行
LdcbJS
Server
Bitrovzer
巳岑止
S^-lVfef
5*叔
巳亭止
Loi?
slS
世萍J0药程式X5»q
tUSQLServer£DOS
王■蔓SQLJr-fitLTfiCli*Jitfir.ia
』厘尽引胰名
•i站」侣部哥in含块中
在右侧窗口中点击“SQLServer(MSSQLSERVER)--右键--属性,弹出如下界面:
点击“高级”选项卡,打开如下界面: