Sql Server数据库导入Excel、txt数据详解,新人必看

数据库 专栏收录该内容
2 篇文章 0 订阅

Sql Server数据库导入Excel、txt数据详解,新人必看

数据库的要想导入数据,列的映射很是关键,只有列名匹配好,系统才知道如何去导入。
我们导入数据通常用到Sql Server的DTS工具,如图。
首先我们已经建好了一个名为kcdb的数据库,并且创建了三个空表,分别是作者表,期刊表,投稿表。导入数据只需要右击数据库,在“任务”里找到“导入数据”,通常会从Excel表格或者是平面文件txt中导入。
光标处导入
首先,以导入Microsoft Excel为例(包括WPS表格),点击导入数据,在向导中选择好本地文件,类型推荐Microsoft Excel 97-2003。
在这里插入图片描述
在这里插入图片描述
选择导入位置,本例中导入数据库,所以要登录服务器。服务器选默认登陆的就好,再选择要导入数据的表所在的数据库。在这里插入图片描述这里有两个选项,第一种是全部导入,也是通常选择的方法。第二种是先select进行筛选,再导入“瘦身”后的结果。当不要求全部导入、且表格较大时,推荐此类选项。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
接下来是关键,我们要选定需要导入数据的表格,同时点击这两个表,分别点击编辑映射。如图。本例中的Excel带有两个工作表“作者表”“投稿表”,如图。(注意,不是在数据库中新建两个表,而是把导入数据到已知表,否则就选择下面两个选项)在这里插入图片描述
两个表的映射关系如下,我们可以选择对应关系。同时可以看到,一个Excel可以赋值给多个数据库表格,特别地,Excel自带的工作表可以使条理更加清晰。
在这里插入图片描述
在这里插入图片描述
这里注意类型最好相同,不然导入过程中可能会损失数据,如图是类型不对应的情况。如果想继续执行,可将下方两个“失败”调成“忽略”。在这里插入图片描述
然后是导入txt文件,也就是平面文件,在软件中也可能叫做Flat File Source。由于txt文件不像表格那样有统一的分隔方式,所以自带的内容分隔符各式各样。如图,列分隔符是逗号的时候,会发现分的很乱,经过观察发现##是分隔符,于是将列分隔符改为##。 在这里插入图片描述
改为##后,刷新一下可以看到,列名区分的很清楚。在这里插入图片描述
最后导入成功,这就是全过程分解,希望对刚学数据库Sql Server的新人有所帮助。
在这里插入图片描述附:本例中创建表格的sql代码

use kcdb
go

--作者表(ZZB)作者号(zzh) 作者名(zzm) 
create table ZZB
(
	zzh char(4) primary key,
	zzm nvarchar(5) unique,
)
go

-- 期刊表(QKB)期刊号(qkh)期刊名(qkm)类别(lb)版面费(bmf) 
create table QKB
(
	qkh char(4) primary key,
	qkm varchar(20) not null,
	lb char(2) check(lb='是' or lb='否'),
	bmf int,
)
go

--投稿表(TGB)作者号(zzh)期刊号(qkh)
--投稿日期(tgrq) 文章名称(wzmc)审稿结果(sgjg)
create table TGB
(
	zzh char(4) not null,
	qkh char(4) not null,
	tgrq smalldatetime not null default(getdate()),
	wzmc char(50),
	sgjg nchar(6) check(sgjg='通过' or sgjg='未通过') default('未通过'),
	primary key(zzh,qkh,tgrq),
	foreign key (zzh) references ZZB(zzh),
	foreign key (qkh) references QKB(qkh), 
)
  • 7
    点赞
  • 2
    评论
  • 18
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值