转自个人原创 https://blog.csdn.net/qq_15170495/article/details/104591606

数据库的要想导入数据,列的映射很是关键,只有列名匹配好,系统才知道如何去导入。
我们导入数据通常用到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),
)

Sql Server数据库导入Excel、txt数据详解,新人必看的更多相关文章

  1. 向SQL Server中导入Excel的数据

    1.  手动界面导入Excel数据 同 https://jingyan.baidu.com/article/ce09321b9a0e252bff858ff9.html 首先打开并登陆sql serve ...

  2. SQL Server数据库PIVOT函数的使用详解(一)

    http://database.51cto.com/art/201108/285250.htm SQL Server数据库中,PIVOT在帮助中这样描述滴:可以使用 PIVOT 和UNPIVOT 关系 ...

  3. SQL Server数据库PIVOT函数的使用详解(二)

    动态的行转列 原理就是 把需要转成列的行拼出来 DECLARE @fieldName VARCHAR(); SET @fieldName=''; SELECT @fieldName = @fieldN ...

  4. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  5. 清空SQL Server数据库中所有表数据的方法

    原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...

  6. EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的

    我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...

  7. MySQL数据库使用mysqldump导出数据详解

    mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数 ...

  8. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

  9. SQL Server 2005导入Excel表问题

    EXCEL导入到SQL Server经常出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项” 原因: SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别. ...

随机推荐

  1. webform 最后的黄昏之力

    前言 现在有人谈起webform 一般都会说这种技术已经过时了,毫无用处. 因为我们在日常开发中已经不会去开发哪种几个简单的网页的程序,我们的业务更加复杂,这种拖动式的过于死板. 但是是否毫无用处呢? ...

  2. opencv-3-图片存储与相对路径

    opencv-3-图片存储与相对路径 opencvqtC++ 在上一篇文章opencv 显示第一副图像 中, 我们完成了一副图像的显示, 包括使用VS,和QT 进行显示.. 本文将展示如何进行图像的显 ...

  3. 从Spring迁移到Spring Boot

    文章目录 添加Spring Boot starters 添加应用程序入口 Import Configuration和Components 迁移应用程序资源 迁移应用程序属性文件 迁移Spring We ...

  4. Git 提交项目命令

    git add .  //添加⽂件到待提交区 git commit -m "注释"  //创建⼀个提交 git push origin   //将修改内容提交

  5. Shiro踩坑记(二):使用RequiresXXX的注解后,访问对应请求返回404

    问题描述: 我在项目中的某个Controller上添加了@RequirePermissions注解,希望在执行该请求前,可以先进行权限验证.但是当我请求该Controller时,返回的确是404错误. ...

  6. 阿里巴巴年薪800k大数据全栈工程师成长记

    大数据全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang).他把全栈工程师定义为对性能影响有着深入理解的技术通才.自那以后 ...

  7. python(logging 模块)

    1.logging 模块的日志级别 DEBUG:最详细的日志信息,典型应用场景是 问题诊断 INFO:信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作 ...

  8. Java——Java泛型

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.泛型概述 1.定 ...

  9. spring 事务管理配置

    本篇文章只涉及spring事务的配置,不进行事务的介绍. spring通过PlatformTransactionManager接口作为事务管理器来进行事务的管理,它本身并不进行事务的创建以及相关操作, ...

  10. 王颖奇 20171010129《面向对象程序设计(java)》第十周学习总结

    实验十  泛型程序设计技术 实验时间 2018-11-1 1.实验目的与要求 (1) 理解泛型概念: (2) 掌握泛型类的定义与使用: (3) 掌握泛型方法的声明与使用: (4) 掌握泛型接口的定义与 ...