mysqlでテーブルをエクスポートするにはどうすればよいですか?

青灯夜游
リリース: 2020-10-06 07:45:40
オリジナル
10107 人が閲覧しました

エクスポート方法: 「SELECTI...INTO OUTFILE」ステートメントを通じて、「SELECT 列名 FROM テーブル [WHERE ステートメント] INTO OUTFILE '対象ファイル' [OPTIONS]」形式ステートメントを使用して、次の内容をエクスポートします。テーブルをテキスト ファイルに変換します。

mysqlでテーブルをエクスポートするにはどうすればよいですか?

#データ テーブルをインポートおよびエクスポートすることにより、MySQL データベース サーバーと他のデータベース サーバーの間でデータを移動できます。エクスポートとは、MySQL データ テーブルのデータをテキスト ファイルにコピーすることを指します。データをエクスポートするにはさまざまな方法がありますが、このセクションでは主に SELECTI...INTO OUTFILE ステートメントを使用してデータをエクスポートする方法を紹介します。

MySQL では、SELECTI...INTO OUTFILE ステートメントを使用してテーブルの内容をテキスト ファイルにエクスポートできます。 SELECT...INTO OUTFILE ステートメントの基本形式は次のとおりです。

SELECT 列名 FROM table [WHERE 语句] INTO OUTFILE '目标文件'[OPTIONS]
ログイン後にコピー

このステートメントは、SELECT を使用して必要なデータをクエリし、INTO OUTFILE を使用してデータをエクスポートします。このうち、ターゲット ファイルは、クエリされたレコードのエクスポート先のファイルを指定するために使用されます。ここで注意が必要なのは、対象ファイルを既存のファイルにすることはできないということです。

  • [OPTIONS] は、オプションのパラメータ オプションです。OPTIONS 部分の構文には、FIELDS 句と LINES 句が含まれます。一般的に使用される値は次のとおりです:

  • FIELDS TERMINATED BY 'String': フィールド間の区切り文字として文字列を設定します。文字列には 1 文字または複数の文字を使用できます。デフォルトでは、タブ文字 '\t' です。

  • FIELDS [オプション] ENCLOSED BY 'Character': CHAR、VARCHAR、TEXT などの文字フィールドを囲む文字を設定します。 OPTIONALLY を使用する場合、CHAR や VARCHAR などの文字フィールドを囲むためにのみ使用できます。

  • FIELDS ESCAPED BY 'Character': 特殊文字の書き込みまたは読み取り方法を設定します。単一文字のみを使用できます。つまり、エスケープ文字を設定します。デフォルト値は '\ '。

  • LINES STARTING BY 'String': 各行の先頭に文字を設定します。単一または複数の文字を指定できます。デフォルトでは、文字は使用されません。

  • LINES TERMINATED BY 'String': 各行の末尾の文字を設定します。単一または複数の文字を使用できます。デフォルト値は '\n' です。

注: FIELDS 句と LINES 句は両方ともオプションですが、両方を指定する場合は、FIELDS を LINES の前に配置する必要があります。

例 1

次の例では、SELECT...INTO OUTFILE ステートメントを使用して、テスト データベースの person テーブルのレコードをエクスポートします。 SQL ステートメントと実行結果は次のとおりです:

mysql> SELECT * FROM test.person INTO OUTFILE 'C://ProgramData/MySQL/MySQL Server 5.7/Uploads/person.txt';
Query OK, 5 rows affected (0.05 sec)
ログイン後にコピー

次に、エクスポートされたパスに従って person.txt ファイルを見つけます。ファイルの内容は次のとおりです:

1    Java 12
2    MySQL     13
3    C      15
4    C++  22
5    Python     18
ログイン後にコピー

person テーブル データがエクスポートされます成功しました。

注: エクスポート中に次のエラーが発生する場合があります:

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
ログイン後にコピー

これは、MySQL がデータのエクスポート パスを制限しているためです。 MySQL インポートおよびエクスポート ファイルは、secure-file-priv 変数で指定されたパス内のファイルにのみインポートおよびエクスポートできます。

次の 2 つの解決策があります:

1) まず、'%secure%'; ステートメントのような show variables を使用して、secure-file-priv 変数構成を表示します。 。

mysql> show variables like '%secure%' \G
*************************** 1. row ***************************
Variable_name: require_secure_transport
        Value: OFF
*************************** 2. row ***************************
Variable_name: secure_auth
        Value: ON
*************************** 3. row ***************************
Variable_name: secure_file_priv
        Value: C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\
3 rows in set, 1 warning (0.04 sec)
ログイン後にコピー

secure_file_priv の値は、MySQL インポートおよびエクスポート ファイルへのパスを指定します。 SQL ステートメント内のエクスポート ファイルのパスを変数の指定されたパスに変更し、インポートおよびエクスポート操作を実行します。 my.ini 構成ファイル内の secure-file-priv の値を変更して、サービスを再起動することもできます。

2) secure_file_priv 値が NULL の場合、エクスポートは禁止されているため、MySQL インストール パスの下の my.ini ファイルに secure_file_priv= 設定パス ステートメントを追加して、サービスを再起動できます。

例 2

SELECT...INTO OUTFILE ステートメントを使用して、FIELDS オプションを使用して、テスト データベースの person テーブルのレコードをテキスト ファイルにエクスポートします。および LINES オプションでは、フィールドは で区切る必要があり、文字データは二重引用符で囲む必要があります。各レコードは - で始まります。 SQL ステートメントは次のとおりです:

SELECT * FROM test.person INTO OUTFILE 'C:/person.txt'
    FIELDS TERMINATED BY '\、' OPTIONALLY ENCLOSED BY '\"' LINES STARTING BY '\-'
TERMINATED BY '\r\n';
ログイン後にコピー

その中に:

  • FIELDS TERMINATED BY ', ': フィールドが , で区切られていることを示します;

  • ENCLOSED BY '\"': 各フィールドが二重引用符で囲まれていることを示します;

  • LINES STARTING BY '\-': 各行が次で始まることを示します-;

  • TERMINATED BY '\r\n' は、各行が復帰と改行で終わり、各レコードが必ず 1 行を占めることを意味します。

    ##person.txt ファイルの内容は次のとおりです。
  • -1、"Java"、12
    -2、"MySQL"、13
    -3、"C"、15
    -4、"C++"、22
    -5、"Python"、18
    ログイン後にコピー
    各レコードが - で始まり、各データが, で区切られ、すべてのフィールド値が含まれていることがわかります。

    推奨チュートリアル:

    mysql ビデオ チュートリアル

    以上がmysqlでテーブルをエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!