私たちの経験から言って、クエリコンソールは通常の日常的なSQLを記述するのに最適な場所です。 すべてのデータソースには、独自のデフォルトコンソールがあります。 それを開くには、コンテキストメニューに移動し、Open Consoleをクリックしてください。 または、ショートカットF4を使用してください。
ここではSQLを記述して実行し、その結果を得られます! とてもシンプルです。
何らかの理由であるデータソース用に別のコンソールを作成したい場合は、Context menu → New → Console も使用できます。
複数のコンソールを作成し、同時に大量のクエリを管理できます。 各コンソールにはデータベース/スキーマスイッチャーが搭載されています。 PostgreSQLをお使いの場合は、ここで検索パスを定義してください。
コードの一部を選択して、選択した箇所のみを実行できます。 選択されたクエリはそのまま実行されますので、ご注意ください。DataGripは選択された文字列をデータベースにただ送信し、結果を取得します。 この機能は、IDEがクエリ内のエラーを誤検知した場合に役立ちます。
DataGripはスマートなクエリ実行オプションをご提供しています。 カーソルがクエリ内にある場合、複数のオプションを使用して実行内容をカスタマイズできます。 意図した動作を定義します。例えば、最小ステートメントを実行する、最大ステートメントを実行する、実行対象を確認する、スクリプト全体を実行するなど。
さらに、実行アクションもあります。 動作の変更とショートカットの割り当ては、完全に独立しています。 例えば、スクリプトから正確なクエリを選択せずに、スクリプト全体を実行するアクションを作成できます。
以下で動作をご確認いただけます。
データソースのプロパティでRead-Only(読み取り専用)をオンにできます。 このモードは事実上、同時に2つの読み込み専用モードを有効化します。対応JDBCドライバの読み取り専用モードとIDEレベルの読み取り専用モードです。
JDBCドライバ読み取り専用モードは、MySQL、PostgreSQL、AWS Redshift、H2、Derbyでの修正クエリの実行を拒否します。 その他のDBMSでは何もしません。
そのため、IDEレベルの読み取り専用モードを用意しています。 このモードはJDBCレベルの読み取り専用モードと共に有効化されます。 このように、読み取り専用モードではすべてのDDLまたはDMLクエリに下線が引かれます。 このようなクエリを実行すると、警告が表示されます。 ご自身が何を実行しようとしているのか完全に理解している場合は、このバーで実行を押しても構いません。
また、関数やプロシージャのソースコードがインデックス化され、バックグラウンドでコールツリーが構築されるようになりました。 つまり、ある関数が、DDLやDMLステートメントを実行する別の関数を(n回繰り返して)実行する場合にも警告が表示されます。
特定のデータソースを処理する際に使用するトランザクション制御の種類を定義できます。 このオプションは、データソースのプロパティで使用できます。 自動モードでは、コミットステートメントを実行するトランザクションをコミットする必要はありませんが、手動モードでは明らかにコミットする必要があります。
この機能を使用すると、コンソールにクエリを入力せずにデータを確認できます。 他のIntelliJベースのIDEでは、オブジェクト上でCtrl+Alt+F8を押すとクイック評価が行われます。 DataGripでは、クエリ内のテーブルで同機能を呼び出すと、そのテーブルのデータが表示されます。 カラム名の上でCtrl+Alt+F8を押すと、期待される結果セット内にそのカラムの値が表示されます。 クエリ(またはサブクエリ)のキーワードで同様のクイック評価を呼び出した場合、結果がポップアップ表示されます。 なお、Alt+クリックも同様に機能します。
各コンソールのツールバーにはボタンがあります。 このボタンを押すと、このデータソースに対して実行されたすべてのクエリ履歴を確認できます。 スピード検索も使用できます!
また、ファイル単位のローカル履歴もご確認ください。
文字通り、IDEからのクエリはすべてテキストファイルに記録されます。 このファイルを開くには、ヘルプ | SQLログを表示を開いてください。
DataGripはストアドプロシージャを実行するためのコードを生成できます。 必要なパラメータの値を入力し、「OK」をクリックします。
ソースコードを開く際に、ツールバーの実行ボタンをクリックして、このプロシージャを実行できることにご注意ください。 または単純に、データベースツリー内のプロシージャのコンテキストメニューから実行…を使用します。
DataGripは、DELETE
ステートメントやUPDATE
ステートメントが、WHERE
句なしで使用されている場合に警告を表示します。
ステートメントの実行計画は、クエリで要求されたデータを返すためにデータベースが実行する操作を、視覚的に表現します。 これは、クエリの最適化に役立ちます。
グラフィカルに、計画はテーブルまたはダイアグラムで表示されます。
別のアプリケーションからSQLクエリを取得する際、それをパラメータ化できます。 DataGripはこの種のクエリの実行をサポートしています。
パラメータのパターン編集用のUIは、設定/環境設定 → データベース → ユーザーパラメータで使用できます。 正規表現がハイライト表示され、これらのパターンが有効なダイアレクトを選択できます。
各コンソールやSQLファイルでは、そのすべてのステートメントが構造として送信されているポップアップがあります。 この構造ポップアップ(Ctrl+F12)からすぐにクエリを実行できます。これは、長いスクリプトで一部のクエリを実行する必要がある場合に便利です。
DataGripでは、結果セットが変更可能なため、クエリを実行後返ってきたデータを変更できます。 これは、自動コミット、行の追加/削除、テキスト検索、データ間移動など、同じオプションを持つデータエディタと似ています。
2つの結果セットは差分ビューアで比較できます。 DataGripでは差分をハイライト表示し、許容誤差パラメータで比較条件を調整できます。 例えば、データが単一カラムでのみ異なる2行を等しいとみなす場合は、許容誤差フィールドに対応する値を入力してください。 必要に応じて、任意のカラムを比較対象から除外できます。
結果のツールバーでCompareボタンをクリックし、比較したい別の結果セットを選択します。
結果用の便利な機能、「タブの命名」をご利用ください! クエリの前でコメントを使用するだけでタブの名前を変更できます。
ある特定のコメントをタブ名にしたい場合は、設定の Treat text as title after(次の単語の後に続くテキストをタイトルとして扱う) フィールドを使って接頭語を指定してください。 その後、その接頭語の後に続くテキストのみがタイトルとして使用されます。
結果セットのツールバーから、データベースから取得する行数を定義できます。