MySQLデータのインポート
MySQLはMySQLのデータのエクスポートをインポートするために、2つの簡単な方法で使用することができます。
LOAD DATAを使用してデータをインポートします
MySQLはデータを挿入するLOAD DATA INFILEステートメントを提供します。 カレントディレクトリから次の例では、ファイルをdump.txt、データベース内の現在のmytblテーブルにデータファイルを読み込みます。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
あなたはLOCALキーワード、クライアントホストからファイルを読み込むことで、パスを指定した場合。 ファイルパスを読み込むことにより、サーバー上、ファイルを指定しない場合。
あなたは、LOAD DATA文の区切りとラインマーカー列の値の末尾が、デフォルトであることは明らか、と改行することができます。
2コマンドのFIELDSとLINES条項の構文は同じです。 2つの句はオプションですが、2が同時に指定された場合は、FIELDS句はLINES節の前に現れなければなりません。
あなたが句(BY TERMINATED、[OPTIONALLY]のENCLOSED BYとESCAPED BYの)もオプションであるFIELDS句を指定した場合、ただし、ユーザーはそれらのうちの少なくとも一つを指定する必要があります。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';
LOAD DATAのデフォルトのデータは、データファイル内の列の順序に挿入され、テーブルの列をデータファイルの列とを挿入しない場合は、列の順序を指定する必要があります。
例えば、データファイル内の列の順序は、A、B、Cであるが、テーブルの列Bを挿入するために、cは、データのインポートの構文は次の通りです。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
mysqlimportはを使用してデータをインポートします
mysqlimportは、クライアントは、コマンドLOAD DATAのINFILEQLステートメント行インタフェースを提供します。 mysqlimportはのほとんどのオプションは、LOAD DATA INFILE句に直接対応しています。
mytblをdump.txtファイルがデータ・テーブルにデータをインポートしますから、次のコマンドを使用することができます。
$ mysqlimport -u root -p --local database_name dump.txt password *****
次のように指定された形式のコマンド文の形式を設定するオプションを指定するmysqlimportはコマンドは次のとおりです。
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****
mysqlimportは文--columnsは、列の順序を設定するオプションを使用します。
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password *****
一般的なオプションの紹介mysqlimportは
オプション | 関数 |
---|---|
-dまたは--delete | テーブルに新しいデータインポートデータの前にデータテーブル内のすべての情報とデータを削除します。 |
-fまたは--force | かかわらず、エラーが発生したかどうかの、mysqlimportは力がデータを挿入し続けます |
-iまたは--ignore | 同じユニークなキーワードのラインを持っている人をスキップしたり、無視mysqlimportは、インポートファイル内のデータは無視されます。 |
-lまたは-lock-テーブル | データが挿入されるロック・テーブルの前に、このように防止し、あなたが影響を受けたデータベース、ユーザのクエリおよび更新を更新します。 |
-rまたは-replace | -iオプションの逆で、このオプションの役割は、このオプションは、デリゲートのために、同じユニークキーのレコードを持っています。 |
= charで--fields-enclosed- | 何囲まれ、多くの場合、二重引用符のデータが指定したテキストファイルのデータを記録するとき。 デフォルトのデータによって文字で囲まれていません。 |
= charで--fields-terminated- | セパレータが完全に停止され、ピリオドで区切られたファイル内の各データの値の間の区切り文字を指定します。 あなたは、データ間の区切り記号を指定するには、このオプションを使用することができます。 デフォルトの区切り文字が文字をタブ移動される(タブ) |
= strで--lines-terminated- | このオプションは、文字列またはBOCとラインとの間の区切りテキストファイルのデータを指定します。 デフォルトでは、行区切りとして改行mysqlimportに。 新しい行またはキャリッジリターン:あなたは、単一の文字を置き換えるために、文字列を使用するように選択することができます。 |
mysqlimportは、コマンド共通のオプションだけでなく-vは、show version(バージョン)は、-pは、というようにパスワード(パスワード)の入力を求められます。