ホームページ >バックエンド開発 >PHPチュートリアル >MySQL データのインポートとエクスポートの方法とツールの紹介_PHP チュートリアル

MySQL データのインポートとエクスポートの方法とツールの紹介_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-13 17:34:001166ブラウズ

http://qfxy.org.ru/read.php?tid=3071&page=e

MySQL データのインポートおよびエクスポートの方法とツールの紹介 (1) )
翻訳文:
この記事の内容は、Mark Maslakowski 著『Sams Teach Yourself MySQL in 21 Days』の一部から引用しています
英語の原文の著作権は原著者に帰属します。一部の中国語訳は若干変更されています。追加および削除; 元の本の一部が明確になりすぎたので、さらに不明瞭な点がある場合は修正してください。

翻訳者: David Euler、SCU。de_euler-david@www.yahoo.com.cn
時間: 2004/04/24 四川大学にて

1) .mysqlimport の構文紹介:
mysqlimport は mysql/ にあります。 bin ディレクトリは、MySQL にデータをロード (またはインポート) するための非常に効果的なツールです。これはコマンドラインツールです。 2 つのパラメータと多数のオプションから選択できます。このツールは、指定したデータベースとテーブルにテキスト ファイルをインポートします。たとえば、ファイル Customers.txt からデータベース Meet_A_Geek のテーブル Customers にデータをインポートしたいとします。
mysqlimport Meet_A_Geek Customers.txt
注: ここで、Customers.txt はデータのインポート元のテキスト ファイルで、Meet_A_Geek は操作するテキスト ファイル。データベース内のテーブル名は Customers です。ここでのテキスト ファイルのデータ形式は、Customers テーブルのレコード形式と一致している必要があります。そうでない場合、mysqlimport コマンドはエラーになります。
テーブルの名前は、インポートされたファイルの最初のピリオド (.) の前にあるファイル文字列です。別の例:
mysqlimport Meet_A_Geek Cus.to.mers.txt
次に、ファイルの内容をデータベース Meet_A_Geek Cus にインポートします。テーブル。上記の例では、2 つのパラメーターのみが使用されており、それ以上のオプションは使用されていません。mysqlimport のオプションは以下に紹介されています。

2) mysqlimport の一般的なオプションの紹介:
オプション 機能
-d または --delete 新しいデータがデータテーブルにインポートされる前に、データテーブル内のすべての情報を削除します
-f または --force エラーかどうかに関係なくが発生した場合、mysqlimport はデータの挿入を強制的に続行します
-i または --ignore Mysqlimport は、同じ一意のキーワードを持つ行をスキップまたは無視し、インポートされたファイル内のデータは無視されます。
-l または -lock-tables は、データが挿入される前にテーブルをロックするため、データベースを更新するときにユーザーのクエリや更新が影響を受けるのを防ぎます。
-r または -replace このオプションは、-i オプションとは逆の効果があり、テーブル内の同じ一意のキーを持つレコードを置き換えます。 S-Fields-EntLOSED-by = CHAR
は、テキスト ファイル内のデータ レコードをテキスト ファイルに含める方法を指定します。多くの場合、データは二重引用符番号に含められます。 デフォルトでは、データは文字で囲まれていません。
- フィールドターミネーション - =char
、オフスルー - - - - - - - までの期間までの期間までの期間が指定されています。このオプションを使用して、データ間の区切り文字を指定できます。デフォルトの区切り文字はタブ文字 (Tab) です
--lines-terminated- by=str
このオプションは、テキスト ファイル内の行間のデータを区切る文字列または文字を指定します。 デフォルトでは、mysqlimport は行区切り文字として改行を使用します。
単一の文字を文字列 (改行または復帰) に置き換えることを選択できます。
mysqlimport コマンドの一般的に使用されるオプションには、バージョン (バージョン) を表示する -v、パスワード (パスワード) の入力を求める -p などが含まれます。

3). 例: 区切り文字としてカンマを使用してファイルをインポートします。ファイル内の行のレコード形式は次のとおりです:
"1"、"ORD89876"、"1 Dozen Roses"、"19991226"
私たちのタスクは次のとおりです。このファイルのデータは、データベース Meet_A_Geek のテーブル Orders にインポートされます。次のコマンドを使用します:
bin/mysqlimport –prl –fields-enclosed-by= –fields-terminated-by=, Meet_A_Geek Orders.txt
これコマンドは不快に思えますが、慣れると非常に簡単です。最初の部分 bin/mysqlimport は、実行したいコマンドが mysql/bin ディレクトリ内の mysqlimport であることをオペレーティング システムに伝えます。 p にはパスワードが必要です。これにより、データベースに変更を加える前にパスワードを入力する必要があります。これにより、テーブル内の重複する一意のキーワードを持つレコードとファイル レコードを置き換える必要があるため、操作がより安全になります。フォーム内のデータは最新ではないため、ファイル内のデータで更新する必要があるため、挿入時に l オプションを使用してデータベース内の既存のレコードを置き換えます。これにより、テーブルを更新するときにユーザーがテーブルをクエリしたり変更したりすることができなくなります

。-------------------------------------------------- ----------------------------------
MySQLから大量のデータをインポート、エクスポートするためのプログラム実装方法
http://www.cx66 .com/cxgzs/tips/00773.htm
phpmyadmin のデータベースのインポートおよびエクスポート機能は非常に便利なので、誰もが使用したことがあると思います。ただし、実際のアプリケーションでは次の問題が見つかりました:
1. データベースが 6M などの特定のサイズを超える場合、エクスポートは通常は問題なく、ローカル ハードディスクに正しく保存できますが、インポートは機能しません。理由は、通常、PHP.INI では一時ファイル/アップロード ファイルのサイズ制限が 2M に設定されていますが、phpmyadmin がアップロード メソッドを使用したために失敗していました。
2. ハードディスクにエクスポートされた .SQL ファイルをインポートする場合、特定の一重引用符の問題が原因でインポートが失敗することがよくあり、mysql などのアプリケーションを使用してのみインポートできます。
データベースが 10M を超えたので、この問題を解決する必要があります。私のアイデア:
エクスポート: phpmyadmin を使用してデータベース/テーブル構造を保存し、スクリプトを使用してデータベースの内容を読み取り、ファイルに保存します。
インポート: phpmyadmin を使用してデータベース/テーブル構造を復元し、スクリプトを使用してファイルを読み取り、ライブラリに保存します。

エクスポート プログラムは次のとおりです: 呼び出しメソッドは ****.php?table=tablename です
この単純なプログラムは現在、一度に 1 つのテーブルを保存します。 !各行には 1 つのフィールドのデータが含まれています。 !
if($table=="")exit();
mysql_connect("localhost","name","password");
$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." ");
for($k=0;$k
{
$msg = mysql_fetch_row($result);
for($i=0;$i<$numfields;$i++)
{
$msg[$i ] = str_replace(" ","&&php2000mysqlreturn&&",$msg[$i]);
$msg[$i] = str_replace(" " ,"&&php2000mysqlreturn&&",$msg[$i]);
fputs($handle,$msg[$i]." ");
}
fputs($handle,"---------- MySQL 用 php2000 ダンプ データ プログラム V1.0 -------- ");
}
fclose($handle);
echo "ok";
?>

インポートされたプログラムは次のとおりです: 使い方は上記と同じです!
if($table=="")exit ();
mysql_connect( "ローカルホスト","名前","パスワード");
$message = file("$table.txt"); [0]);
for($k=1;$k
{
$value="";
for ($i=$k;$i{
$tmp = str_replace( "&&php2000mysqlreturn&&"," ",chop($message[$i]));
$value .= "".addslashes($tmp).",";
}
$tmp = str_replace("&&php2000mysqlreturn&&"," ",chop($message[$k+$numfields-1]));
$value .= "".$tmp."";
$query = "$table 値に挿入 (".$value." )" ;
echo mysql_error();
mysql_query($query);
echo $k." ";
}
echo "ok";
?>

使用方法と考えられる問題!
1. ファイルをインポートするとき( ) 関数には問題がある可能性があります (私の 10M データには問題ありません)。それを fopen() に変更して、一度に 1 行ずつ読み取ることができます。つまり、インポートとエクスポートには FTP 操作が必要です。つまり、エクスポート後に使用します。 ftp. データはローカル マシンに転送されます。インポートするときは、最初に ftp を使用してデータをサーバーに転送します

www.yiz.name

======= ===============================
いくつかの使用例 一般的な使用例:

1. データベース全体をエクスポートします
mysqldump - u ユーザー名 -p データベース名 > エクスポートされたファイル名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2. テーブルをエクスポートする
mysqldump -p データベース名 テーブル名> -p smgp_apps_wcnc users> wcnc_users.sql
3. データベース構造をエクスポートします
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql

-d no data--add-drop -table 各 create ステートメントの前にドロップ タブを追加します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508509.html技術記事 http://qfxy.org.ru/read.php?tid=3071page=e からの抜粋 MySQL データのインポートおよびエクスポートの方法とツールの紹介 (1) 翻訳文: この記事の内容は、Sams Teach という本の一部から引用しています。 21 日で MySQL を自分自身に.. .

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。