新聞中心
PHP 用PHPExcel往數(shù)據(jù)庫導(dǎo)入大量數(shù)據(jù)
1、首先我們準(zhǔn)備一個(gè)含有數(shù)據(jù)的Excel表格,表頭和數(shù)據(jù)表中的表字段相對(duì)應(yīng)。
10年積累的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有冷水灘免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
2、在ThinkPHP中引入PHPExcel類庫。
3、然后我們編寫導(dǎo)入的PHP代碼。
4、然后我們編寫導(dǎo)出的PHP代碼。
5、然后我們進(jìn)行導(dǎo)出測試發(fā)現(xiàn)可以導(dǎo)出即可。
php怎么導(dǎo)出大量數(shù)據(jù)的Excel
php導(dǎo)出大量數(shù)據(jù)到Excel,可以通過生成多個(gè)Excel文件,然后壓縮成壓縮包解決。方案是:假如我們數(shù)據(jù)庫有10w條數(shù)據(jù),每2000條數(shù)據(jù)生成一個(gè)Excel文件,這樣每次只要從數(shù)據(jù)庫里查詢出2000條數(shù)據(jù)即可,一定要分頁去查詢。原因:主要是數(shù)據(jù)庫性能和寫文件性能。分頁查詢可以解決數(shù)據(jù)庫壓力的問題,生成多個(gè)文件可以解決單個(gè)文件太大,后期維護(hù)Excel文件的問題。要注意的:1.在導(dǎo)出邏輯文件開頭,一定要聲明set_time_limit(0),防止腳本超時(shí);2.每個(gè)文件生成后,適當(dāng)?shù)膕leep一下,讓程序休息一下下;3.因?yàn)橐淮螌?dǎo)出最后要將生成的多個(gè)Excel文件打包成一個(gè)壓縮包,所以要?jiǎng)h除掉生成的Excel文件,節(jié)省服務(wù)器存儲(chǔ)空間;下面是我實(shí)際工作中,寫的一個(gè)php導(dǎo)出大量數(shù)據(jù)到Excel的代碼,你可以參考一下:
thinkphp 針對(duì)一次性要寫入上萬數(shù)據(jù)到數(shù)據(jù)庫的問題怎么解決
采用批量插入分批次提交
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
如何用php導(dǎo)出導(dǎo)入大數(shù)據(jù)庫
在使用PhpMyAdmin的時(shí)候經(jīng)常用到數(shù)據(jù)的導(dǎo)入和導(dǎo)出(Export/Import),但是在導(dǎo)入大數(shù)據(jù)的時(shí)候由于php上傳文件的限制和腳本響應(yīng)時(shí)間的限制,導(dǎo)致phpMyAdmin無法導(dǎo)入大數(shù)據(jù)。很多時(shí)候都是由于文件過大,從本地瀏覽上傳導(dǎo)入,容易中斷失敗,有沒有更好的方法呢?
方法:
在phpMyAdmin的目錄下,找到根目錄的config.inc.php文件,
打開config.inc.php文件,查找$cfg['UploadDir'],這個(gè)參數(shù)就是設(shè)定導(dǎo)入文件存放的目錄,這里把值設(shè)定為:ImportSQLFile。
在phpMyAdmin目錄下,建立以ImportSQLFile命名的文件夾,
把我們需要導(dǎo)入的數(shù)據(jù)文件,放到ImportSQLFile文件夾下面,非常簡單,
登入phpMyAdmin,選擇需要導(dǎo)入的數(shù)據(jù),點(diǎn)擊導(dǎo)航條上面的“導(dǎo)入”按鈕,
選中“從網(wǎng)站服務(wù)器上傳文件夾ImportSQLFile/中選擇:”選項(xiàng),并需要導(dǎo)入的數(shù)據(jù)文件,
最后點(diǎn)擊“執(zhí)行”,即可導(dǎo)入成功。
注意事項(xiàng)
如果在config.inc.php文件,沒有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
PHP批量生成注冊(cè)碼并保存到數(shù)據(jù)庫
改變一下注冊(cè)碼的規(guī)則,比如1, 時(shí)分秒-隨機(jī)1-隨機(jī)2-隨機(jī)3 重復(fù)的幾率小2, 時(shí)分秒-隨機(jī)1-隨機(jī)2-隨機(jī)3-當(dāng)前for循環(huán)的次數(shù) 重復(fù)的幾率很小3, 日時(shí)分秒-隨機(jī)1-隨機(jī)2-隨機(jī)3-當(dāng)前for循環(huán)的次數(shù) 重復(fù)的幾率非常小4, 月日時(shí)分秒-隨機(jī)1-隨機(jī)2-隨機(jī)3-當(dāng)前for循環(huán)的次數(shù) 重復(fù)的幾率非常非常小5, 年月日時(shí)分秒-隨機(jī)1-隨機(jī)2-隨機(jī)3-當(dāng)前for循環(huán)的次數(shù) 100%沒有重復(fù)(除非時(shí)間倒退^__^)說了這么多其實(shí)time()函數(shù)-隨機(jī)1-隨機(jī)2-隨機(jī)3-當(dāng)前for循環(huán)的次數(shù) 就OK了要點(diǎn)就是加上時(shí)間字符串和for循環(huán)次數(shù)$i
本文標(biāo)題:php批量生成大量數(shù)據(jù)庫 php批量更新數(shù)據(jù)
標(biāo)題來源:http://fisionsoft.com.cn/article/docsgho.html