データ抽出
データベースツールおよび SQL プラグインを有効化
この機能は、IntelliJ IDEA にデフォルトでバンドルされ有効になっている データベースツールおよび SQL プラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済みタブを開き、 データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
データ抽出は、エディター (テキスト エディター表示モード) でデータをコピーまたは表示する方法のルールを設定します。 データのエクスポート アイコン () の近くにある データ抽出 リストからデフォルトのエクストラクターを選択したり、既存のエクストラクターを構成したり、Groovy または JavaScript を使用してカスタムエクストラクターを作成したりできます。

最後に選択したエクストラクターが、新しく開いたエディタータブのデフォルトのエクストラクターになります。 MongoDB の場合、デフォルトのエクストラクターは常に JSON です。
次のビデオでは、 CSV データエクストラクターを使用してデータがコピーされ、 SQL の UPDATE および パイプ区切り データエクストラクターを使用して テキスト エディタービューモードで表示されます。
データ抽出機能を使用すると、データベースデータを SQL 文としてさまざまな形式でエクスポートできます。 ファイルにエクスポートすると、テーブルまたはビューごとに個別のファイルが作成されます。 エクスポートの詳細については、 「エクスポート」セクションを参照してください。
サポートされているファイル形式
使用可能なスクリプトとサポートされているファイル形式のリストは次のとおりです。
定義済みスクリプト。 これらを使用して、
INSERTまたはUPDATEステートメント、 TSV と CSV(英語) ファイル、 エクセル XLSX(英語) ファイル、 Markdown(英語) 、HTML テーブル、 JSON(英語) 形式のセットとしてデータをエクスポートします。ビルトイン
スクリプト
ファイルフォーマット
SQL の INSERT
.sql
SQL の UPDATE
Where 句
CSV
スクリプト
ファイルフォーマット
CSV
.csv
TSV
.tsv
パイプ区切り
.txt
CSV 形式の設定を使用して、CSV または任意の DSV 形式に基づいた独自の形式を作成します。
スクリプト
スクリプト
ファイルフォーマット
CSV
.csv
TSV
.tsv
Excel
.xlsx 、 .xls
HTML (groovy)
.html
HTML (js)
JSON
.json
Markdown
.md
One-row
.sql
SQL-Insert-Multirow
SQL-Insert-Statements
Pretty
.txt
XML
.xml
カスタムデータ抽出器。 Groovy または JavaScript、および提供されている API を使用して作成できる。
区切り文字で区切られた値のエクストラクターを構成する
デフォルトの機能を拡張し、CSV または任意の DSV 形式に基づいて独自の形式を作成できます。 設定では、行とヘッダーの区切り文字を設定したり、NULL 値のテキストを定義したり、引用符を指定したり、区切り文字で区切られた値を持つ形式の新しい抽出子を作成したりできます。
データエクストラクターのリストから、 CSV 形式の構成 を選択します。
CSV 形式 ダイアログで、 形式の追加 アイコン
をクリックします。
新しい形式の名前を指定します (たとえば、
Confluence Wiki Markup)。フォーマットの設定を定義する。行やヘッダーの区切り記号を設定し、NULL 値のテキストを指定し、引用符を指定する。 OK をクリックします。
フォーマットが作成されると、 データのエクスポート アイコン (
) の近くのドロップダウンで選択できます。
CSV 形式 ダイアログの詳細については、 リファレンスを参照してください。
カスタムエクストラクターを追加する
Groovy または JavaScript で記述できる独自の抽出プログラムを作成できます。
GitHub リポジトリ(英語)でスクリプト拡張機能開発用の事前構成済みプロジェクトを見つけます。
プロジェクト ツールウィンドウで、 スクラッチとコンソール | 拡張 | データベースツールおよび SQL | data | extractors に移動します。
extractors ノードを右クリックし、 を選択します。
ファイル名を入力します (例:
PHP.array.groovy)。PHP: 抽出メニューで使用される名前。array: エクストラクターの出力。groovy: スクリプトの拡張子。
抽出プログラムのコードを入力するか、新しいファイルに貼り付けます。 extractors フォルダー内の他のエクストラクターのコードを使用して、エクストラクターを作成できます。 また、次のエクストラクターを試すこともできます。
GitHub の TSV-Icelandic-Groovy.tsv.groovy(英語): タブ区切りのクエリ結果をコピーして、Excel にコンマ区切りで貼り付けます。
GitHub 上の Groovy での Dbunit データセットのエクスポート (英語): Dbunit エクスポート用のエクストラクター。
Table-Text-Groovy.txt.groovy(英語) および Fixed-length-fields.txt.groovy(英語): 固定長の列を含む txt ファイルを生成するエクストラクター。
PHP-Array.groovy(英語): PHP 配列へのエクストラクター。
Markdown-JavaScript.markdown.js(英語): Markdown へのエクストラクター。
エクストラクターのリストからエクストラクターを選択します。
IntelliJ IDEA に PHP 配列エクストラクターを追加する次の例について考えてみます。
カスタムデータエクストラクターの API
次の API を使用して、カスタムデータエクストラクターを作成します。
バインディング | メソッド (Groovy と JavaScript) | 説明 |
|---|---|---|
|
| データベース方言 |
|
| データベーステーブルのメタデータ |
|
| クエリ結果または現在開いているテーブルエディターのすべての列のリスト。 |
|
| クエリ結果または現在開いているテーブルエディターで選択された列のリスト。 |
|
| デフォルトのフォーマット方法。 |
|
| エクストラクターの出力。 |
|
|
|
TRANSPOSED | テーブルエディターが転置モードかどうかを示すブール値。 |
サンプル
以下のシンプルな CSV データ抽出ツールを、カスタムデータ抽出ツールのベースとして使用できます。 このデータ抽出ツールのフルバージョンは IntelliJ IDEA で入手できます。 プロジェクト ツールウィンドウで スクラッチとコンソール | 拡張 | データベースツールおよび SQL | data | extractors に移動してください。
リファレンス
CSV フォーマットダイアログ
このダイアログにアクセスするには、ツールバーの データ抽出 リストをクリックし、 CSV 形式の構成 を選択します。
このダイアログには、テーブルデータを区切り文字で区切られた値形式 (CSV、TSV など) に変換したり、その逆に変換したりするための設定が含まれています。
残りのデータが読み込まれないようにするため、プレビューは 10 件のレコードに制限されています。 設定を変更すると、プレビューもそれに応じて変更されます。
項目 | 説明 |
|---|---|
形式 | ファイルデータをテーブルに正常に変換するテンプレートを選択します。 事前定義されたテンプレートの設定を変更したり、新しいテンプレートを追加したりできます。 テンプレートを追加するには、 形式の追加 ボタン( 形式の追加 ( |
値セパレーター(S) | 値の区切り記号として使用する文字を選択または入力します。 |
行セパレーター(R) | 行の区切り記号として使用する文字を選択または入力します。 |
null 値テキスト(N) | セルに |
行接頭辞/接尾辞の追加 | リンクをクリックして、行の接頭辞と接尾辞を入力します。 接頭辞と接尾辞は文字シーケンスであり、改行コードに加えて行の開始と終了を示します。 |
引用 | 引用符 の領域の各行は、引用パターンです。 見積もりパターンには次のものが含まれます。
複数のパターンがある場合は、最初のパターンが使用されます。 追加 ( |
値を引用符で囲む(Q) | 値を引用符で囲む場合に選択します。
|
空白をトリム(W) | 空白文字を無視または削除します。 このチェックボックスがオフの場合、空白文字は対応する値の一部として扱われます。 |
最初の行はヘッダー(H) | 最初の行を列名を含む行として扱います。 |
最初の列はヘッダー(H) | 最初の列を行名を含む列として扱います。 |