ホームページ  >  記事  >  データベース  >  [mysql チュートリアル] MySQL インポート データ

[mysql チュートリアル] MySQL インポート データ

黄舟
黄舟オリジナル
2016-12-26 17:18:541128ブラウズ

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 句の構文は同じです。どちらの句もオプションですが、両方を指定する場合は、FIELDS 句を LINES 句の前に指定する必要があります。

ユーザーが FIELDS 句を指定する場合、その句 (TERMINATED BY、[OPTIONALLY] ENCLOSED BY、および ESCAPED BY) もオプションですが、ユーザーはそのうちの少なくとも 1 つを指定する必要があります。

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、a である場合、データ インポートの構文は次のようになります:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

インポートするには mysqlimport を使用します。 data

mysqlimport クライアント LOAD DATA INFILEQL ステートメントのコマンド ライン インターフェイスを提供します。 mysqlimport のほとんどのオプションは LOAD DATA INFILE 句に直接対応します。

ファイル dump.txt から mytbl データ テーブルにデータをインポートするには、次のコマンドを使用できます:

$ 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 の共通オプションの紹介

options

function

-d または --delete データ テーブル内のすべての情報を削除します新しいデータがデータテーブルにインポートされる前に

-f または --force エラーが発生したかどうかに関係なく、mysqlimport は強制的にデータの挿入を続行します

-i または --ignore Mysqlimport は同じ一意のキーワードを持つ行をスキップまたは無視します、インポートされたファイル内のデータは無視されます。

-l または -lock-tables データが挿入される前にテーブルをロックします。これにより、データベースを更新するときにユーザーのクエリや更新が影響を受けるのを防ぎます。

-r または -replace このオプションは、-i オプションの逆の効果があり、テーブル内のレコードを同じ一意のキーで置き換えます。

--fields-enclosed-by= char テキスト ファイル内のデータ レコードを囲む方法を指定します。多くの場合、データは二重引用符で囲まれます。 デフォルトでは、データは文字で囲まれていません。

--fields-terminated-by=char 各データの値の間の区切り文字を指定します。ピリオドで区切られたファイルでは、区切り文字はピリオドになります。このオプションを使用して、データ間の区切り文字を指定できます。 デフォルトの区切り文字はタブ文字 (Tab) です

--lines-terminated-by=str このオプションは、テキスト ファイル内の行間のデータを区切る文字列または文字を指定します。 デフォルトでは、mysqlimport は行区切り文字として改行を使用します。 単一の文字を文字列 (改行または復帰) に置き換えることを選択できます。

mysqlimport コマンドで一般的に使用されるオプションには、バージョン (version) を表示する -v、パスワード (password) の入力を求める -p などが含まれます。

上記は、[mysql チュートリアル] MySQL のデータのインポートの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


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