在平時的工作學習中,難免會遇到需要把EXCEL表中的數據導入到MYSQL中,比如要把EXCEL中的數據進行核對,或者要把測試用例導入到TestLink中。本人搜集相關的資料并加以實踐總結出了以下幾種方法:
目前創(chuàng)新互聯已為千余家的企業(yè)提供了網站建設、域名、虛擬主機、網站托管、企業(yè)網站設計、瀍河網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1.使用PHP
Excel Parser Pro軟件,但是這個軟件為收費軟件;
2.可將EXCEL表保存為CSV格式,然后通過phpmyadmin或者SQLyog導入,SQLyog導入的方法為:
·將EXCEL表另存為CSV形式;
·打開SQLyog,對要導入的表格右擊,點擊“導入”-“導入使用加載本地CSV數據”;
·在彈出的對話框中,點擊“改變..”,把選擇“填寫excel友好值”,點擊確定;
·在“從文件導入”中選擇要導入的CSV文件路徑,點擊“導入”即可導入數據到表上;
3.一個比較笨的手工方法,就是先利用excel生成sql語句,然后再到mysql中運行,這種方法適用于excel表格導入到各類sql數據庫:
·假設你的表格有A、B、C三列數據,希望導入到你的數據庫中表格tablename,對應的字段分別是col1、col2、col3
·在你的表格中增加一列,利用excel的公式自動生成sql語句,具體方法如下: 1)增加一列(假設是D列) 2)在第一行的D列,就是D1中輸入公式: =CONCATENATE("insert into tablename (col1,col2,col3) values (",A1,",",B1,",",C1,");") 3)此時D1已經生成了如下的sql語句: insert into table (col1,col2,col3) values ('a','11','33'); 4)將D1的公式復制到所有行的D列(就是用鼠標點住D1單元格的右下角一直拖拽下去啦) 5)此時D列已經生成了所有的sql語句 6)把D列復制到一個純文本文件中,假設為sql.txt ·把sql.txt放到數據庫中運行即可,你可以用命令行導入,也可以用phpadmin運行。
Online DDL 工具:pt-osc
對于 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡單對比。
一、原理及限制
1.1 原理
1.?創(chuàng)建一個與原表結構相同的空表,表名是?_new?后綴;
2. 修改步驟 1 創(chuàng)建的空表的表結構;
3. 在原表上加三個觸發(fā)器:delete/update/insert,用于 copy 數據過程中,將原表中要執(zhí)行的語句在新表中執(zhí)行;
4. 將原表數據以數據塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,并把新表 rename 為原表名,然后刪除舊表;
6. 刪除觸發(fā)器。
可以通過mysql管理工具Navicat for MySQL來導入,
打開工具Navicat for MySQL,選擇表所在的數據庫,
然后點擊數據庫名字,右鍵數據,出來下拉菜單選擇import wizard ,有漢化版本的更明確.彈出一個選擇界面,我們選擇excel file文件。
點擊next(下一步),我們選擇我們對應的excel文件就行,然后再下面選在我們的文件內容在哪一個sheet中,也就是你的內容寫在excel什么地方
點擊next (此步驟是關鍵步驟),需要注意2點: 1:filed name row 就是你的字段所在excel中的位置,也就是第幾行.2:first data row(從哪一行開始執(zhí)行)
點擊next 我們選擇 target table 目標對應的數據庫,選擇你要導入到哪個數據庫中表中.
如果到上面一步沒有問題的話,我們默認next到最后 就行了