將Excel表中的數據導入MySQL數據庫


背景

最近接到交通學院的一個web項目,我的工作是在web頁面上做個圖表並且定時刷新這個圖表,這里使用了Echarts API,關於如何使用,我抽時間再寫一篇博客,這里主要記錄一下,這個表里面的數據他們提供給我時是一個Excel表,那么我需要將其存儲在數據庫中,這也給我以啟發,我們今后接手項目時,別人給的數據是擦亂無章的,如何整理並結構化存儲是我們第一步需要做的。

插曲(Excel表中時間列自增)

由於數據庫表中有一列是日期+時間,也就是我們所熟悉的yyyy-MM-dd HH:mm:ss,但是她們中Excel只記錄了時間,沒有日期部分,這里為了造模擬數據,需要添加日期部分。

  • 第一步
    確定某一個單元格的時間,比如我這里確定了A1單元格的時間,現在想要后面依次增加3秒。
  • 第二步
    將光標定位到A2上,輸入
=TEXT((TEXT(1*A1,"[s]")+3)/(24*60*60),"e-mm-dd hh:mm:ss")

注意這里的A1就是確定的起始時間, +3代表加3秒
隨后向下拖動即可。效果如下:

說正事

使用Navicat 導入Excel到MySql數據中

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

  • 准備工作,要確定數據庫表的字段名和Excel表表頭對應一致,如果不一致,后面導入的時候也可自由匹配!比較麻煩,建議提前處理好。
  • 第一步
    選擇Import Wizard
  • 第二步
    選擇Excel文件類型, 親測其他格式的同樣可以!
  • 第三步
    Add File,選擇需要導入的Excel本地文件
  • 第四步
    勾選
  • 第五步
    這里需要選擇的是,表頭名在哪一行,數據開始是哪一行。我這里是第2行和第3行
  • 第六步
    選中需要導入數據庫哪一張表
  • 第七步
    將Excel表的表頭和數據庫表的字段名匹配上,如果數據庫表的字段和Excel表的表頭不匹配,就需要手動匹配,如果一樣,這里會自動匹配。
  • 第八步
  • 選擇第一個Append,顧名思義,添加到表中原有數據之后。

遇到坑了

我一開始導入之后,看到數據庫表中有數據了,性喜若狂啊,結果一看

我去,為毛我的時間全部都變成了1900-01-20,而我本身時間是2018-09-25啊。
開始百度

填坑

首先將時間列數據庫表的數據類型,設置為varchar,隨后導入,發現不會有錯,然后再改回datetime類型,我發現直接利用工具的Design Table改不行,改了之后還是1990-01-20。我也是運氣好,換了一種方式,執行sql語句

ALTER TABLE flow MODIFY time datetime

perfect!!!!
OK 搞定了。


最后

  • 本文內容個人拙見,若有出入,歡迎指正。
  • 歡迎賞臉關注:家佳Talk

歡迎賞臉關注:家佳Talk


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM