您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“MySQL怎么導(dǎo)入導(dǎo)出大量數(shù)據(jù)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
大家一定使用過(guò)phpmyadmin里面的數(shù)據(jù)庫(kù)導(dǎo)入,導(dǎo)出功能,非常方便。但是在實(shí)際應(yīng)用中,我發(fā)現(xiàn)如下幾個(gè)問(wèn)題:
1數(shù)據(jù)庫(kù)超過(guò)一定尺寸,比如6M這時(shí)使用導(dǎo)出一般沒(méi)問(wèn)題,可以正確的保存到本機(jī)硬盤上面,但是導(dǎo)入則不行!原因是:一般的PHP.INI里面設(shè)置臨時(shí)文件/上傳文件的大小限制為2M,而phpmyadmin使用了上傳的方式,造成失敗。
2導(dǎo)出到硬盤的.SQL文件在導(dǎo)回時(shí),經(jīng)常出現(xiàn)由于某些單引號(hào)的問(wèn)題引起失敗,造成導(dǎo)入失敗,只能用mysql等應(yīng)用程序?qū)肓?。我的?shù)據(jù)庫(kù)已經(jīng)超過(guò)10M,所以必須解決這個(gè)問(wèn)題。我的思路:
導(dǎo)出:用phpmyadmin保存數(shù)據(jù)庫(kù)/表格結(jié)構(gòu),用腳本讀取數(shù)據(jù)庫(kù)內(nèi)容并保存到文件里面!
導(dǎo)入:用phpmyadmin恢復(fù)數(shù)據(jù)庫(kù)/表格結(jié)構(gòu),用腳本讀取文件,然后保存到庫(kù)里面!
導(dǎo)出程序如下:調(diào)用方法為****.phptable=tablename
這個(gè)簡(jiǎn)單的程序目前一次保存一個(gè)表格!!每行為一個(gè)字段的數(shù)據(jù)!!以下為引用的內(nèi)容:
< if($table=="")exit(); mysql_connect("localhost","name","password"); mysql_select_db("database"); $result=mysql_query("select*from$table"); if(mysql_num_rows($result)<=0)exit(); echo"開(kāi)始轉(zhuǎn)換數(shù)據(jù)到文本... "; $handle=fopen("$table.txt","w"); $numfields=mysql_num_fields($result); fputs($handle,$numfields." "); for($k=0;$k { $msg=mysql_fetch_row($result); for($i=0;$i<$numfields;$i++) -------php2000dumpdataprogramv1.0formysql--------="">
導(dǎo)入的程序如下:用法同上面!以下為引用的內(nèi)容:
< if($table=="")exit(); mysql_connect("localhost","name","password"); mysql_select_db("database"); $message=file("$table.txt"); echo$numfields=chop($message[0]); for($k=1;$k { $value=""; for($i=$k;$i<($k+$numfields-1);$i++) { $tmp=str_replace("&&php2000mysqlreturn&&"," ",chop($message[$i])); $value.="'".addslashes($tmp)."',"; } $tmp=str_replace("&&php2000mysqlreturn&&"," ",chop($message[$k+$numfields-1])); $value.="'".$tmp."'"; $query="insertinto$tablevalues(".$value.")"; echomysql_error(); mysql_query($query); echo$k.""; } echo"ok";
MySQL導(dǎo)入導(dǎo)出大量數(shù)據(jù)程序會(huì)出現(xiàn)哪些問(wèn)題
1導(dǎo)入時(shí)file()函數(shù)可能會(huì)有問(wèn)題(我的10M的數(shù)據(jù)沒(méi)出現(xiàn)問(wèn)題),可以改為fopen()然后沒(méi)次讀一行!!
2導(dǎo)入,導(dǎo)出都需要用ftp操作,也就是導(dǎo)出后,用ftp把數(shù)據(jù)轉(zhuǎn)到本機(jī),導(dǎo)入時(shí)先用ftp轉(zhuǎn)移數(shù)據(jù)到服務(wù)器!
“MySQL怎么導(dǎo)入導(dǎo)出大量數(shù)據(jù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。