在使用PhpMyAdmin的時候經(jīng)常用到數(shù)據(jù)的導入和導出(Export/Import),但是在導入大數(shù)據(jù)的時候由于php上傳文件的限制和腳本響應時間的限制,導致phpMyAdmin無法導入大數(shù)據(jù)。很多時候都是由于文件過大,從本地瀏覽上傳導入,容易中斷失敗,有沒有更好的方法呢?

創(chuàng)新互聯(lián)主營新會網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶App定制開發(fā),新會h5小程序開發(fā)搭建,新會網(wǎng)站營銷推廣歡迎新會等地區(qū)企業(yè)咨詢
方法:
在phpMyAdmin的目錄下,找到根目錄的config.inc.php文件,
打開config.inc.php文件,查找$cfg['UploadDir'],這個參數(shù)就是設定導入文件存放的目錄,這里把值設定為:ImportSQLFile。
在phpMyAdmin目錄下,建立以ImportSQLFile命名的文件夾,
把我們需要導入的數(shù)據(jù)文件,放到ImportSQLFile文件夾下面,非常簡單,
登入phpMyAdmin,選擇需要導入的數(shù)據(jù),點擊導航條上面的“導入”按鈕,
選中“從網(wǎng)站服務器上傳文件夾ImportSQLFile/中選擇:”選項,并需要導入的數(shù)據(jù)文件,
最后點擊“執(zhí)行”,即可導入成功。
注意事項
如果在config.inc.php文件,沒有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
php導出大量數(shù)據(jù)到Excel,可以通過生成多個Excel文件,然后壓縮成壓縮包解決。
方案是:假如我們數(shù)據(jù)庫有10w條數(shù)據(jù),每2000條數(shù)據(jù)生成一個Excel文件,這樣每次只要從數(shù)據(jù)庫里查詢出2000條數(shù)據(jù)即可,一定要分頁去查詢。
原因:主要是數(shù)據(jù)庫性能和寫文件性能。分頁查詢可以解決數(shù)據(jù)庫壓力的問題, 生成多個文件可以解決單個文件太大,后期維護Excel文件的問題。
要注意的:
1. 在導出邏輯文件開頭,一定要聲明 set_time_limit(0) ,防止腳本超時;
2. 每個文件生成后,適當?shù)膕leep一下,讓程序休息一下下;
3. 因為一次導出最后要將生成的多個Excel文件打包成一個壓縮包,所以要刪除掉生成的Excel文件,節(jié)省服務器存儲空間;
下面是我實際工作中,寫的一個php導出大量數(shù)據(jù)到Excel的代碼,你可以參考一下:
?php
//連接過程略
$sql = "select sum(jine) as num from seo";
$result = mysql_query($sql,$conn);
echo mysql_result($result,0);
?
SELECT SUM(分數(shù)) FROM 表a WHERE 性別='男'
SELECT SUM(分數(shù)) FROM 表a WHERE 性別='女'
----測試
CREATE TABLE MASK_TEST(
ID INT,
姓名 varchar(20),
性別 varchar(20),
年齡 int,
分數(shù) int
)
INSERT INTO MASK_TEST VALUES(11,'ZHANG SAN','男',20,88)
INSERT INTO MASK_TEST VALUES(11,'LIU SHAN','女',20,83)
INSERT INTO MASK_TEST VALUES(11,'WANG SAN','男',20,87)
INSERT INTO MASK_TEST VALUES(11,'ZHANG TING','女',20,83)
INSERT INTO MASK_TEST VALUES(11,'ZHAO YAN','女',20,88)
INSERT INTO MASK_TEST VALUES(11,'ZHOU HU','男',20,78)
INSERT INTO MASK_TEST VALUES(11,'WANG QIANG','男',20,98)
INSERT INTO MASK_TEST VALUES(11,'LI QIAN','女',21,68)
SELECT SUM(分數(shù)) FROM MASK_TEST WHERE 性別='男'
SELECT SUM(分數(shù)) FROM MASK_TEST WHERE 性別='女'
----結果:
(1 行受影響)
(1 行受影響)
(1 行受影響)
(1 行受影響)
(1 行受影響)
(1 行受影響)
(1 行受影響)
(1 行受影響)
-----------
351
(1 行受影響)
-----------
322
(1 行受影響)
新聞標題:php導出數(shù)據(jù)庫數(shù)據(jù)合計 php導出大量數(shù)據(jù)
轉載來于:http://chinadenli.net/article22/doeojcc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、虛擬主機、手機網(wǎng)站建設、域名注冊、網(wǎng)站營銷、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)