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コマンドを使用する方法

推薦する

Nginx で Angular プロジェクトを展開する際の落とし穴

コンパイル後にAngularプロジェクトをNginxにデプロイする方法をオンラインで検索すると、ほと...

mysql5.6 以前のデータベースで json をクエリする方法

MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれるこ...

MySQLのネクストキーロックのロック範囲についての簡単な説明

序文ある日、突然 MySQL の次のキー ロックについて尋ねられ、私の即座の反応は次のようなものでし...

単語のグループ化シーケンスと複数フィールドのグループ化のための MySQL グループ方法

ここで商品テーブルを作成しました。その中のデータを見てみましょう。 mysql> 商品から *...

MySQL でトリガーを無効化および有効化するチュートリアル [推奨]

MYSQL を使用する場合、トリガーがよく使用されますが、不適切な使用によって問題が発生する場合が...

MySQL 単一テーブルクエリの例の詳細な説明

1. データを準備するこのテーブルでは次の操作が実行されます 学生テーブルを作成 ( id int ...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

MySQL NULLデータ変換方法(必読)

MySQL を使用してデータベースをクエリし、左結合を実行すると、関連付けられたフィールドの一部に...

HTML 縦列表示テキストを使用してテキストを縦列で表示します

コードをコピーコードは次のとおりです。 <span style='display:bl...

Nginx+SpringBoot による負荷分散の実装例

負荷分散の概要Nginx の負荷分散実装を紹介する前に、負荷分散の分類について簡単に説明します。負荷...

Vueはドラッグプログレスバーを実装します

この記事では、ドラッグプログレスバーを実現するためのVueの具体的なコードを例として紹介します。具体...

HTML 基本ノート (推奨)

1. ウェブページの基本構造: XML/HTML コードコンテンツをクリップボードにコピー<...

JS はシンプルな todoList (メモ帳) 効果を実装します

メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...

MySQL における tinyint と int の違いの詳細な説明

質問: int(1) と tinyint(1) の違いは何ですか?このような設計では、いずれにしても...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...