從MySQL匯入匯出大量資料的程式實現方法

2021-04-12 18:42:27 字數 1903 閱讀 5810

大家一定使用過 phpmyadmin 裡面的資料庫匯入,匯出功能,非常方便。但是在實際應用中,我發現如下幾個問題:

1 資料庫超過一定尺寸,比如6m 這時使用匯出一般沒問題,可以正確的儲存到本機硬碟上面,但是匯入則不行!原因是:一般的 php.ini 裡面設定臨時檔案/上傳檔案的大小限制為2m,而phpmyadmin使用了上傳的方式,造成失敗。

2 匯出到硬碟的 .sql 檔案在導回時,經常出現由於某些單引號的問題引起失敗,造成匯入失敗,只能用 mysql等應用程式匯入了。

我的資料庫已經超過10m,所以必須解決這個問題。我的思路:

匯出: 用phpmyadmin 儲存資料庫/**結構,用指令碼讀取資料庫內容並儲存到檔案裡面!

匯入: 用phpmyadmin 恢復資料庫/**結構,用指令碼讀取檔案,然後儲存到庫裡面!

匯出程式如下:呼叫方法為 ****.php?table=tablename

這個簡單的程式目前一次儲存乙個**!!每行為乙個欄位的資料!!

< ?

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 /"開始轉換資料到文字...

/";

$handle = fopen(/"$table.txt/",/"w/");

$numfields = mysql_num_fields($result);

fputs($handle,$numfields./"/r/n/");

for($k=0;$k< mysql_num_rows($result);$k++)

fputs($handle,/"------- php2000 dump data program v1.0 for mysql --------/r/n/"); }

fclose($handle);

echo /"ok/";

?>

匯入的程式如下:用法同上面!

< ?

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< count($message);$k+=($numfields+1))

$tmp = str_replace(/"&&php2000mysqlreturn&&/",/"/r/n/",chop($message[$k+$numfields-1]));

$value .= /"/'/".$tmp./"/'/";

$query = /"insert into $table values (/".$value./")/";

echo mysql_error();

mysql_query($query);

echo $k./" /"; }

echo /"ok/";

?>

使用方法和可能的問題!

1 匯入時 file()函式可能會有問題(我的10m的資料沒出現問題),可以改為 fopen()然後沒次讀一行!!

2 匯入,匯出都需要用 ftp 操作,也就是匯出後,用 ftp 把資料轉到本機,匯入時先用ftp轉移資料到伺服器!

從 MySQL 匯入匯出大量資料的程式

從 mysql 匯入匯出大量資料的程式 fputs handle,php2000 dump data program v1.0 for mysql rn fclose handle echo ok 匯入的程式如下 用法同上面!if table exit mysql connect localhost...

從MySQL匯入匯出大量資料的程式實現方法

匯出 用phpmyadmin儲存資料庫 結構,用指令碼讀取資料庫內容並儲存到檔案裡面!匯入 用phpmyadmin恢復資料庫 結構,用指令碼讀取檔案,然後儲存到庫裡面!匯出程式如下 呼叫方法為 php?table tablename 這個簡單的程式目前一次儲存乙個 每行為乙個欄位的資料!if tab...

從MySQL匯入匯出大量資料的程式實現方法

大家一定使用過 phpmyadmin 裡面的資料庫匯入,匯出功能,非常方便。但是在實際應用中,我發現如下幾個問題 1 資料庫超過一定尺寸,比如6m 這時使用匯出一般沒問題,可以正確的儲存到本機硬碟上面,但是匯入則不行!原因是 一般的 php.ini 裡面設定臨時檔案 上傳檔案的大小限制為2m,而ph...