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

推薦する

Linux で JDK 環境を構成する方法

1. 公式ウェブサイトにアクセスして、jdk-8u162-linux-x64.tar.gzなどのLi...

MySQL Community Server 8.0.12 のインストールと設定方法のグラフィックチュートリアル

MySQL 8 は、NoSQL、JSON などのサポートなど、まったく新しいエクスペリエンスをもたら...

Javascript クロージャの使用シナリオの原則の詳細

目次1. 終了2. クロージャの使用シナリオ1.タイムアウトを設定する2. コールバック3. 手ぶれ...

MySQLパーティションテーブルは月別に分類されています

目次テーブルを作成するデータベース ファイルを表示します。入れるクエリ消去補足:Mysqlは月テーブ...

React コードを共有するためのベストプラクティス

プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...

Vue カプセル化に基づくプルダウン更新およびプルアップ読み込みコンポーネント

VueとネイティブJavaScriptカプセル化に基づいて、プルダウンリフレッシュとプルアップロード...

Vueはボールのスライディングクロス効果を実現します

この記事の例では、ボールのスライドとクロスの効果を実現するためのVueの具体的なコードを共有していま...

Docker クロスサーバー通信オーバーレイソリューション (パート 1) Consul 単一インスタンス

目次シナリオタスクアイデア分析するコンセプトと選択ちょっとしたテスト環境説明予防実践テスト引用シナリ...

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

node.js グローバル変数の具体的な使用法

グローバルオブジェクトすべてのモジュールは呼び出すことができますglobal: ブラウザの wind...

MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション

MySQL データベースが Centos7 システムにインストールされており、オペレーティング シス...

Vueプロジェクトでlessを使用するためのヒント

目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

WeChat アプレットのカスタム下部ナビゲーション バー コンポーネント

この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを...

WeChatアプレットタブの左右スライドスイッチ機能実装コード

効果画像: 1. はじめに独自のアプレットでこのような機能を実装する必要がある1. 核となる考え方ス...