來自深圳福田區(qū)鵬生電子的柯先生聯(lián)系到深圳網絡公司【創(chuàng)絡】,希望我們能為其更新網站上的庫存系統(tǒng)。因為我們地處公明,直接去福田要1個多小時的時間。于是文件是通過網絡傳輸過來的,當我們從柯先生那邊接收到文件后,發(fā)現(xiàn)是一個11MB的Excel表,打開一看,里面的數(shù)據(jù)全部都是文字,純文本就達到了11MB,數(shù)據(jù)量可想而知有多大。
對文件進行分析以后,我們發(fā)現(xiàn)這個Excel表總共有近4萬條數(shù)據(jù)記錄。要將Excel里面的數(shù)據(jù)導入到MySQL方法有很多,但是在導入之前,都需要先對Excel表進行格式化。也就是說,要讓Excel里面的數(shù)據(jù)結構和現(xiàn)有MySQL的數(shù)據(jù)結構一致(新建表除外),例如:沒有ID索引字段的情況下,需要先在Excel中新建好這個字段并填寫好對應的數(shù)據(jù)。在導入數(shù)據(jù)庫的時候,還應該在表的第一行列出字段名。值得注意的是,如果事先列好字段名,更改工作表的名稱為表名(如下圖),導入MySQL后就不用再去修改數(shù)據(jù)結構,可以直接使用,非常方便。
但是PHPMYADMIN導入Excel數(shù)據(jù)有一個缺點,那就是數(shù)據(jù)量如果太大的話,就有可能會因為超時而出現(xiàn)錯誤,導致導入數(shù)據(jù)失敗。當然,大家可以選擇修改Apache的配置文件,但是在沒有服務器配置權限的虛擬主機中又該如何操作呢?很簡單,當數(shù)據(jù)量非常大,如上圖所示中的36000多條數(shù)據(jù),一次性導入肯定會提示錯誤。這個時候我們就只需要將Excel表分成幾段即可。每一個Excel表中都只存放10000條數(shù)據(jù),那么導入就會非常輕松了。
不過大家要注意的是,并不是每一個版本的MySQL數(shù)據(jù)庫都支持導入Excel,如果遇到不支持的情況,可以先在本地配置好MySQL,導入Excel后,再以sql語句的形式導出。sql語句形式就不必擔心數(shù)據(jù)量太大而不能導入了。