MySQLでデータをエクスポートするいくつかの方法の詳細な説明

MySQLでデータをエクスポートするいくつかの方法の詳細な説明

MySQL データをエクスポートする目的は、データベースのバックアップ、テーブル構造のエクスポート、テーブル データのエクスポート、データ分析など、多数あります。

パート1 出力ファイルに選択

まず、小規模データベースの分析で最も一般的に使用されるデータ収集方法である、最も短くて強力な select into outfile から始めましょう。具体的な構文は次のとおりです。
[SELECTステートメント] into outfile [エクスポートファイル名] [エクスポートパラメータ]

[Select ステートメント] は、列、条件、グループ、順序、制限などを指定できる古典的なクエリ SQL です。

[エクスポートファイル名]は対象ファイルのフルパスです。 MySQLアカウントの権限の問題のため、通常はファイルを/tmp/mysql/user/201810.csvなどの一時ディレクトリにエクスポートします。

【エクスポートパラメータ】

  • 'str' で終了するフィールド: フィールド間の区切り文字を設定します。デフォルト値は "\t" です。
  • 'char' で囲まれたフィールド: 一重引用符、二重引用符など、フィールド値を囲む記号を設定します。デフォルトでは、記号は使用されません。
  • オプションで 'char' で囲まれたフィールド: CHAR、VARCHAR、TEXT などの文字フィールドの区切り文字を設定します。デフォルトでは、記号は使用されません。
  • 'char' でエスケープされたフィールド: エスケープ文字を設定します。デフォルト値は "\" です。
  • 'str' で始まる行: 各データ行の先頭の文字を設定します。これは 1 文字または複数文字にすることができます。デフォルトでは文字は使用されません。
  • 'char' で終了する行: 各データ行の末尾の文字を設定します。これは 1 文字または複数文字にすることができます。デフォルト値は「\n」です。

例えば:

プラットフォームユーザーから * を選択して、出力ファイル '/tmp/mysql/user/201810.csv' に入力します。 
フィールドは ',' で終了します 
     '"' で囲まれている
'\r' で始まる行
     '\n' で終了します。

エクスポートされたデータに中国語の文字が含まれている場合、csv ファイルを開いたときに文字化けした文字が表示されることがあります。文字化けした文字を処理するには、まずデータベースが中国語をサポートしていることを確認します(通常はUTF8エンコードを設定します)

vim /etc/my.cnf に次のオプションを追加します。

[クライアント]
デフォルトの文字セット=utf8
[mysqld]
文字セットサーバー=utf8
[mysql]
デフォルトの文字セット=utf8

データベースがすでに utf8 である場合でも、エクスポートされたファイルにローカルにダウンロードすると文字化けした文字が含まれる場合があります。サーバー上の less および tail に表示される結果は正常ですか?
ローカル環境(Windows)でメモ帳を使用して csv ファイルを開き、ANSI エンコード形式で保存します。これは Excel のエンコード形式によって決まります。

パート2 mysqldump エクスポートデータ

開発者や運用保守担当者にとっては、mysqldump の方が多くのことができるため、より頻繁に使用されます。 mysqldump は、主に SQL 形式で結果をエクスポートし、データの変更プロセスを記録しないため、論理的なバックアップ ツールです。物理バックアップに関しては、「MySQL Technology Insider」という書籍に詳しい説明がありますので、そちらを参照してください。

mysqldumpの構文は非常に単純です。

mysqldump [オプション]> dump.sql

ただし、オプションには多くの省略可能なパラメータがあります。マニュアルでは、リンク オプション、ファイル オプション、データ定義 DDL オプション、デバッグ オプション、国際化オプション、クラスター レプリケーション オプション、フォーマット オプション、パフォーマンス オプション、トランザクション オプションなど、いくつかのカテゴリに分類されています。興味のある学生は、MYSQL 公式マニュアルの定義を参照できます。ここでは、いくつかの一般的なアプリケーション シナリオのみを紹介します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MYSQL データベースのインポートおよびエクスポート コマンド
  • mysql mysqldumpはテーブル構造のみをエクスポートするか、データ実装方法のみをエクスポートします
  • MySQLテキストファイルからデータをインポートおよびエクスポートする方法
  • MySQL データベースのエクスポートとインポートおよび一般的なエラーの解決
  • MySQLでデータベースとデータテーブルをインポートおよびエクスポートする方法
  • mysqldump を使用して MySQL データベースからデータをエクスポートする方法の詳細な説明
  • MySQLで特定のデータまたはデータの一部をエクスポートする方法

<<:  Angular の 12 の典型的な問題について簡単に説明します

>>:  Linuxでディスクをマウントする方法

推薦する

SQL Server での exists と except の使用法の概要

目次1. 存在する1.1 説明1.2 例1.3 交差/2017-07-21 2. 除く2.1 説明2...

MySQL で UTF-8 エンコーディングを使用しないのはなぜですか?

MySQL UTF-8 エンコーディングMySQL は 2003 年のバージョン 4.1 から U...

最もよく使用されるJavaScriptイベントについて詳しく学ぶ

目次JavaScript イベント:よく使用されるイベント:イベントアクション要約するJavaScr...

Dockerコンテナ監視とログ管理の実装プロセス分析

Docker の導入規模が大きくなると、コンテナを監視する必要があります。一般的に、Docker に...

MySQL 分離列とプレフィックスインデックスの使用の概要

目次データ列を分離するプレフィックスインデックスとインデックスの選択性データ列を分離するMySQL ...

MySQL リンクを表示し、異常なリンクを削除する方法

序文:データベースの運用や保守の際には、リンクの総数がいくつあるか、アクティブなリンクがいくつあるか...

vscode で console.log を書く 2 つの簡単な方法の詳細な説明

(I) 方法 1: 事前にスクリプト タグ内に直接定義します。この HTML ファイルにのみ適用され...

HTML ページの先頭に戻るいくつかの実装の概要

最近、ウェブサイトを開発する際にトップに戻るボタンを作成する必要がありますが、私は主にバックエンドの...

Vue プロジェクトで mock を使用する方法をご存知ですか?

目次最初のステップ: 2 番目のステップは、request.js で関連する構成を行うことです。re...

js はマウスによる画像の切り替えを実装します (タイマーなし)

この記事の例では、マウス切り替え画像を実現するためのjsの具体的なコードを参考までに共有しています。...

カスタムポップアップボックスを実装するためのJavaScriptシングルトンモード

この記事では、カスタムポップアップボックスを実装するためのJavaScriptシングルトンモードの具...

JavaScript の実行コンテキストとコールスタックの詳細な説明

目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...

プライベートレジストリ内の画像を照会または取得する方法

Dockerはプライベートレジストリ内のイメージを照会または取得するために、 docker 検索 1...

mysql replace into の使用法の詳細な説明

replace ステートメントは、一般的に insert ステートメントに似ています。ただし、テーブ...

Vue+thinkphp5.1+axiosでファイルアップロードを実現

この記事では、thinkphp5.1 + Vue+axiosを使用してファイルをアップロードする方法...