實測:向MySql資料庫匯入excel表資料

來源:互聯網
上載者:User

標籤:

  最近要開發一個小的答題系統,如果題目人工錄入那確實很麻煩。所以想到是不是可以從用一些現有資料格式的檔案匯入資料。在網上查了一下,看到有關於將excel的資料匯入到mysql的方法。所以將題庫資料整理成excel的。 


  然後另存新檔.csv格式的檔案。 
  然後在phpmyadmin中選擇匯入操作。
  但是由於插入的資料出現亂碼,失敗。 
  尋找原因:因為excel預設編碼格式為ANSI,而mysql資料庫預設的編碼方式是utf-8。
  解決辦法:我是用editplus將.csv格式的檔案開啟(開啟時將“編碼”選擇為系統預設即可),然後另存新檔一份編碼為utf-8的檔案。(我是只用了editplus進行的這個操作,如果還有其他可行並且方便的軟體,朋友們也可以留言交流) 
        
  然後重新執行匯入操作。
  所有選項均為預設,匯入成功,但是資料表為建立表,並且表明為table 2(該資料庫中之前有一張表),並且表的欄位名為col1,col2......並且所有欄位的類型均為varchar。



  檢查後發現,在匯入資料時,選擇完檔案後,會有如下提示


  勾選上,點擊執行。
  這次匯入的資料表的欄位名就是自己在excel中第一行設定的了。 


  雖然資料匯入到mysql中了,但是和我最初的目的仍有稍許偏差,我是想將excel表中的資料,匯入到資料庫中對應表中。

  仔細分析後,發現問題可能在於選擇匯入時,目錄層級有問題。 
  前兩次選擇匯入操作的時候,都是在database下操作的。 

  這次在localhost》database》table下選擇匯入操作。
 
        
   一上來就報錯,不過貌似資料插入的位置對了。根據提示,錯誤是主鍵列。我再建立表的時候,主鍵列設為自增。 
  先將自增屬性去掉試試。 
  依然報錯。
  再將主鍵去掉試試。

  

   資料終於插入進去了,不過excel表中第一行列名也被當做輸入插入到資料庫中了。 而且編號是從0開始的,這可能是剛才報錯的原因。
   為了找出真正原因,重新測試。將表刪除重建立立一張空表。
  開啟之前另存新檔utf-8編碼的.csv檔案,將列名的一行刪除並儲存檔案。
 
        
   順利插入,大功告成,吼吼。 

實測:向MySql資料庫匯入excel表資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.