MySQL テーブルデータのインポートとエクスポートの例

MySQL テーブルデータのインポートとエクスポートの例

この記事では、MySQL テーブル データのインポートおよびエクスポート操作について説明します。ご参考までに、詳細は以下の通りです。

データのエクスポート

1. SELECT ... INTO OUTFILE ... コマンドを使用してデータをエクスポートします。具体的な構文は次のとおりです。

mysql> SELECT * FROM tablename INTO OUTFILE 'target_file' [オプション];

オプション パラメータには次のオプションを指定できます。

フィールドは '文字列' (文字区切り) で終了します

フィールド [オプション] は 'CHAR' で囲みます (フィールド参照文字。オプション オプションが追加された場合は、char、varchar、text などの文字フィールドにのみ使用されます。デフォルトでは参照文字は使用されません)

'CAHR' によってエスケープされるフィールド (エスケープ文字、デフォルトは '\')

'string' で始まる行 (各行の前にこの文字列を追加します。デフォルトは '')

行は '文字列' で終了します (行末文字、デフォルトは '\n')

char はシンボルが 1 文字のみであることを意味し、string はシンボルが文字列であることを意味します。

例: テスト テーブルのすべてのデータをエクスポートします。mysql> select * from test into outfile '/path/files.txt'

2. mysqldumpを使用してデータをテキストとしてエクスポートする

mysqldump -u ユーザー名 -T target_dir dbname テーブル名 [オプション]

オプション パラメータには次のオプションを指定できます。
--fields-terminated-by=name(フィールド区切り文字);
--fields-enclosed-by=name(フィールド参照);
--fields-optionally-enclosed-by=name (フィールド参照シンボル、char、varchar、text などの文字フィールドでのみ使用されます)。
--fields-escaped-by=名前(エスケープ文字);
--lines-terminated-by=name (レコード終端文字)。

例: テストデータベースのカスタムテーブルのすべてのデータをエクスポートする mysqldump -uroot -T /tmp test custom

データ ファイル custom.txt が生成されるだけでなく、カスタム テーブルの作成スクリプトを記録する custom.sql ファイルも生成されます。

データのインポート

SELECT... INTO OUTFILE または mysqldump によってエクスポートされたプレーン データ テキストのインポート方法についてのみ説明します。

1. 「LOAD DATA INFILE...」を使用します

mysql > LOAD DATA [LOCAL] INFILE 'filename' を TABLE tablename [option] にロードします

オプションは次のいずれかになります。
¡フィールドは '文字列' で終了します (フィールド区切り文字、デフォルトはタブ '\t')。
¡フィールド [オプション] は 'char' で囲まれます (フィールド参照文字。オプション オプションが追加された場合、char、varchar、text などの文字フィールドでのみ使用されます。デフォルトでは参照文字は使用されません)。
ESCAPED BY 'char' (エスケープ文字、デフォルトは '\'); STARTING BY 'string' (各行の前にこの文字列を追加、デフォルトは ''); TERMINATED BY 'string' (行末文字、デフォルトは '\n');
¡フィールド
¡ライン
¡ライン
¡ IGNORE number LINES (入力ファイルの最初の n 行のデータを無視します)
¡ (col_name_or_user_var,...) (リストされたフィールドの順序と数に従ってデータをロードします); ¡ SET col_name = expr,... 列をロードする前に、列に対して特定の数値変換を実行します。
char はシンボルが 1 文字のみであることを示し、string はシンボルが文字列であることを示します。
FILELD と LINES は、いくつかのオプションが追加されていることを除いて、前の SELECT ...INTO OUTFILE... とまったく同じ意味を持ちます。次の例では、ファイル "/tmp/emp.txt" のデータをテーブル emp にロードします。

mysql > '/tmp/emp.txt' というファイルを emp テーブルにロードします

ファイルの最初の 2 行をロードしない場合は、次の操作を実行できます。

mysql> infile '/tmp/emp.txt' のデータを emp テーブルにロードします。フィールドの 2 行は無視されます。

インポートする列を指定します:

mysql > ファイル '/tmp/emp.txt' のデータをテーブル emp にロードし、2 行 (id、content、name) を無視します。

2. mysqlimport を使用して実装します。具体的なコマンドは次のとおりです。

シェル > mysqlimport -u root -p*** [--LOCAL] dbname order_tab.txt [オプション]

例: 注文テーブルシェルにデータをインポートする > mysqlimport -uroot test /tmp/emp.txt

注意: インポートとエクスポートがクロスプラットフォーム操作 (Windows と Linux) である場合は、パラメーター line-terminated-by の設定に注意してください。Windows では line-terminated-by='\r\n' に設定し、Linux では line-terminated-by='\n' に設定します。

テーブルデータをクリア

テーブル名から削除します。

テーブル名を切り捨てます。

where パラメータなしの delete ステートメントは、MySQL テーブル内のすべての内容を削除できます。truncate table を使用しても、MySQL テーブル内のすべての内容をクリアできます。

効率の面では、truncate は delete よりも高速ですが、truncate では削除後に MySQL ログが記録されず、データを回復できません。

delete の効果は、MySQL テーブル内のすべてのレコードを 1 つずつ削除して、すべて削除されるまでに少し似ています。

Truncate は、MySQL テーブルの構造を保持してテーブルを再作成することと同じであり、すべての状態は新しいテーブルと同等になります。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • Oracle と MySQL のデータインポートにこれほど大きな違いがあるのはなぜでしょうか?
  • MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。
  • MySQL 4 データをインポートする方法
  • MySQL データベース アカウントの作成、認証、データのエクスポートおよびインポート操作の例
  • Java は .csv ファイルを MySQL データベースにバッチインポートする機能を実装します。
  • Excel ファイルを MySQL データベースにインポートする方法
  • MySQL データをエクスポートおよびインポートするための HeidiSQL ツール
  • Navicat は CSV データを MySQL にインポートします
  • MySQLデータベース移行により、大量のデータを迅速にエクスポートおよびインポートできます
  • MySQLにデータを素早くインポートする方法

<<:  JavaScriptイテレータを学ぶ

>>:  LinuxシステムでFuserコマンドを使用する方法

推薦する

MySQL 5.7.19 のインストールと設定方法のグラフィック チュートリアル (win10)

以下に記録されているように、WIN10システムにMYSQLをダウンロードしてインストールするための詳...

Linux で Xfce デスクトップ環境を使用すべき 8 つの理由

いくつかの理由(好奇心も含む)から、数週間前に Linux デスクトップとして Xfce を使い始め...

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...

mysql の find_in_set 関数の基本的な使い方

序文これは私が最近見つけた新しい機能です。プロジェクトでの私の使用シナリオは次のとおりです。アプリケ...

RedisとMySQLの違いを簡単に説明してください

MySQL はディスクに保存される永続的なストレージであり、取得には一定の IO が伴うことはご存じ...

JS+Canvas でダイナミックな時計効果を実現

参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...

CentOS 8 Zabbix 4.4 インストール ガイド

Zabbix サーバー環境プラットフォームZABBIX バージョン 4.4セントOS8 MySQL ...

MySQL 8.0.15 のインストールと設定のグラフィックチュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

配列をフィルタリングするJavaScript

この記事では、配列フィルタリングを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Nginx ロケーション設定(ロケーションのマッチング順序)の詳細な説明

ロケーションは「位置指定」を意味し、主にさまざまな位置指定のための URI に基づいています。これは...

Vue3 ドキュメント クイックスタート

目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...

XHTML+CSS Web ページ作成における美しいスタイルシートの適用

これはかなり前に書かれた記事です。今となっては、その中の考え方は学ぶ価値があるように思えます。jb5...

Java は Excel から MySQL にデータをインポートします

実際の業務では、Excel からデータベースにデータをインポートする必要がある場合があります。データ...

MySQL トランザクションの詳細

目次導入取引の4つの特徴トランザクション分離レベル確認するMVCC現在の読書スナップショット読み取り...

html+cssレイアウトの3つの方法(ナチュラルレイアウト/フローレイアウト/ポジショニングレイアウト)

1. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....