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


    转自个人原创 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), 
    )
  • 相关阅读:
    LINUX VNC配置[转]
    win7下,两台笔记本内置的无线局域网卡共享上网
    修改Linux和aix系统为北京时区
    ubuntu 9.10 下安装ORACLE 出错SP20750: You may need to set ORACLE_HOME to your Oracle software directory
    安装vim7.1
    select 语句的处理顺序
    批量从数据库是提取数据,并显示出来。
    输入四个字符串然后按大到后输出。
    shell 批量修改指定的文件。
    unix自动登录Telnet,实现查看多台服务器硬盘及数据表空间使用情况
  • 原文地址:https://www.cnblogs.com/ccwx/p/12889024.html
Copyright © 2020-2023  润新知