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

推薦する

フロントエンドの面接でよく聞かれる JavaScript の質問の完全なリスト

目次1. 手書きのインスタンス2.配列のマップメソッドを実装する3. Reduceは配列のmapメソ...

VMware 仮想マシンの NAT モードを構成する方法

この記事では、VMware仮想マシンのNAT構成プロセスを詳しく説明します。具体的な内容は次のとおり...

MySQL 8.0.13 手動インストールチュートリアル

この記事では、MySQL 8.0.13の手動インストールチュートリアルを参考までに紹介します。具体的...

Vueプロジェクトのパッケージ化の詳細な説明

目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...

Linux seqコマンドの使い方

1. コマンドの紹介seq (シーケンス) コマンドは、指定されたステップ サイズに従って、開始番号...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

CSS ハック \9 と \0 は IE11\IE9\IE8 のハッキングには機能しない可能性があります

Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...

Linuxにgitをインストールする方法

1. はじめにGit は、規模の大小を問わずあらゆるプロジェクトを俊敏かつ効率的に処理するために使用...

Vue SPA ファースト スクリーン最適化ソリューション

目次序文最適化ソ連オンデマンドインポート1. ルーティングファイルでコンポーネントをオンデマンドでイ...

この記事は、JQueryの基本的な操作を理解し、始めるのに役立ちます。

目次1. Jquery を使用する手順: (1)jsライブラリをインポートする(2)ページ読み込みイ...

MySQL トリガー: 複数のトリガー操作の作成例の分析

この記事では、例を使用して、MySQL で複数のトリガー操作を作成する方法について説明します。ご参考...

MySQL の null (IFNULL、COALESCE、NULLIF) に関する知識ポイントのまとめ

この記事では、MySQL の null (IFNULL、COALESCE、NULLIF) に関連する...

Debian Dockerコンテナにcrontabスケジュールタスクを追加する

現在、DockerイメージのほとんどはDebianベースです # cat /etc/issue De...

JS、CSS スタイルのリファレンスの記述

CS: ... 1. <link type="text/css" href...

VirtualBoxにOpenSuseをインストールする方法

仮想マシンはホストマシンにインストールされます。 CPU とメモリはホスト マシンと共有する必要があ...