美文网首页
将Excel表中的数据导入MySQL数据库

将Excel表中的数据导入MySQL数据库

作者: DuBetter | 来源:发表于2018-11-23 10:29 被阅读0次

    我的小站传送: 将Excel表中的数据导入MySQL数据库

    背景

    最近接到交通学院的一个web项目,我的工作是在web页面上做个图表并且定时刷新这个图表,这里使用了Echarts API,关于如何使用,我抽时间再写一篇博客,这里主要记录一下,这个表里面的数据他们提供给我时是一个Excel表,那么我需要将其存储在数据库中,这也给我以启发,我们今后接手项目时,别人给的数据是擦乱无章的,如何整理并结构化存储是我们第一步需要做的。

    插曲(Excel表中时间列自增)

    由于数据库表中有一列是日期+时间,也就是我们所熟悉的yyyy-MM-dd HH:mm:ss,但是她们中Excel只记录了时间,没有日期部分,这里为了造模拟数据,需要添加日期部分。

    • 第一步
      确定某一个单元格的时间,比如我这里确定了A1单元格的时间,现在想要后面依次增加3秒。


      image
    • 第二步
      将光标定位到A2上,输入
    =TEXT((TEXT(1*A1,"[s]")+3)/(24*60*60),"e-mm-dd hh:mm:ss")
    

    注意这里的A1就是确定的起始时间, +3代表加3秒
    随后向下拖动即可。效果如下:


    image

    说正事

    使用Navicat 导入Excel到MySql数据中

    这里使用的MySQL界面化工具是Navicat,不多说,直接干。

    • 准备工作,要确定数据库表的字段名和Excel表表头对应一致,如果不一致,后面导入的时候也可自由匹配!比较麻烦,建议提前处理好。
    • 第一步
      选择Import Wizard


      image
    • 第二步
      选择Excel文件类型, 亲测其他格式的同样可以!


      image
    • 第三步
      Add File,选择需要导入的Excel本地文件


      image
    • 第四步
      勾选


      image
    • 第五步
      这里需要选择的是,表头名在哪一行,数据开始是哪一行。我这里是第2行和第3行


      image
    • 第六步
      选中需要导入数据库哪一张表


      image
    • 第七步
      将Excel表的表头和数据库表的字段名匹配上,如果数据库表的字段和Excel表的表头不匹配,就需要手动匹配,如果一样,这里会自动匹配。


      image
    • 第八步
    • 选择第一个Append,顾名思义,添加到表中原有数据之后。


      image

    遇到坑了

    我一开始导入之后,看到数据库表中有数据了,性喜若狂啊,结果一看


    image

    我去,为毛我的时间全部都变成了1900-01-20,而我本身时间是2018-09-25啊。
    开始百度

    填坑

    首先将时间列数据库表的数据类型,设置为varchar,随后导入,发现不会有错,然后再改回datetime类型,我发现直接利用工具的Design Table改不行,改了之后还是1990-01-20。我也是运气好,换了一种方式,执行sql语句

    ALTER TABLE flow MODIFY time datetime
    

    perfect!!!!
    OK 搞定了。

    最后

    此致,敬礼

    相关文章

      网友评论

          本文标题:将Excel表中的数据导入MySQL数据库

          本文链接:https://www.haomeiwen.com/subject/xngdqqtx.html