溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL怎么導(dǎo)入導(dǎo)出大量數(shù)據(jù)

發(fā)布時(shí)間:2021-08-09 14:37:50 來(lái)源:億速云 閱讀:171 作者:chen 欄目:數(shù)據(jù)庫(kù)

本篇內(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í)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI