クエリを実行する
データベースツールおよび SQL プラグインを有効にする
この機能は PyCharm にデフォルトでバンドルされ有効になっている データベースツールおよび SQL プラグインに依存しています。 関連機能が利用できない場合は、プラグインが無効になっていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
クエリは、ショートカット、ツールバーボタン、コンテキストメニュー、実行 / デバッグ構成を使用して実行できます。 クエリコンソールs、 スクラッチファイル 、および ユーザーファイルから実行できます。
クエリ結果を表示する場所や方法の詳細については、 クエリ結果を参照してください。
ステートメントとプロシージャーを実行する
クエリコンソールでステートメントを実行する
コードを入力して実行するターミナルのように、 クエリコンソールを扱えます。
データベース ツールウィンドウで、データソースをクリックします。
クエリコンソール を開くには、 F4 を押してください。 詳しくは、クエリコンソールs の操作方法について クエリコンソール をご参照ください。
実行したいステートメントを入力するか貼り付けます。
ツールバーの
実行 をクリックします。 あるいは、 Ctrl+Enter を押します。
複数のステートメントがある場合は、すべてのステートメントを実行するか、単一のステートメントを実行するかを選択します。 候補リストには、常にすべてのステートメントを実行するための項目が含まれています。

開いているファイルからステートメントを実行する
PyCharm では、ファイルを開いて実行できます。 ファイルサイズの制限は 20 MB です。 20 MB を超えるファイルを開くと、ファイルの最初の 2.5 MB のみが表示されます。 ファイルは SQL ファイルタイプに関連付けられている必要があります。 ファイルタイプの関連付けの詳細については、 ファイルタイプの関連付けトピックを参照してください。
Project ツールウィンドウ () を開き、SQL ファイルをダブルクリックします。
PyCharm でのディレクトリとファイルのアタッチについて詳しくは、 ユーザーファイル を参照してください。
実行したいステートメントをクリックします。
また、実行するコードのフラグメントを選択(ハイライト)できます。 サブクエリまたはステートメントのグループにすることができます。 PyCharm は選択した部分のみを実行します。
ツールバーの 実行 ボタン(
)をクリックしてください。 あるいは、 Ctrl+Enter を押します。
クエリの実行設定をカスタマイズするには、 カスタマイズ リンクをクリックしてください。 または、 Ctrl+Alt+S を押して設定を開き、 に移動します。 .
(オプション) SQL ファイルがデータソースにアタッチされていない場合は、 <データソース> リストでアタッチするデータソースを選択します。
ステートメント ウィンドウで、 Enter を押して、選択したステートメントを実行します。 他のエントリを切り替えて、別のステートメントのセットを実行できます。 実行しようとしているステートメントは、クエリエディターでハイライトされます。
スクリプトファイルを実行する別の例については、「youtube.com の次のビデオ(英語) 」を参照してください。
ストアドプロシージャを実行する
ストアドプロシージャとは、名前が割り当てられた SQL 文のセットです。 ストアドプロシージャは PostgreSQL、Microsoft SQL Server 、Oracle、MySQL で実行できます。
SELECT ステートメントを実行し、結果をファイルに保存する
(オプション) ファイルがデータソースに接続されていない場合は、ツールバーのデータソースのリストからデータソースを選択します。 次に、 セッション リストから接続セッションを選択します。
接続セッションの詳細については、 セッション を参照してください。
SELECTステートメントを右クリックします。ファイルへ実行 を選択して、出力フォーマットを選択してください。
データのエクスポート ダイアログで、使用するエクストラクターとその他の設定を指定します。
データのエクスポート ダイアログの詳細については、 データのエクスポートトピックを参照してください。

クエリ実行設定を表示する
クエリコンソール を開き、ツールバーの
クエリ実行設定を開く をクリックします。
ステートメント実行のキャンセル
実行中のステートメントをキャンセルするには、ツールバーの
Cancel Running Statements をクリックします。
または、ガターの進行状況インジケーターにマウスを移動し、進行状況アイコンを置き換える
Cancel Running Statements をクリックします。
Cancel Running Statements ボタンを 2 回クリックすると、PyCharm はリモートプロセスを終了するか、もう少し待つかを選べる警告を表示します。 この警告は、同時に実行されている一部のプロセスに対して非アクティブ化を行うと危険になる可能性があるため、安全を確保するために表示されます。
また、IDE はアイドルキャンセルから 10 秒後に警告を表示します。
接続をキャンセルする
リクエストの実行だけでなく、接続の作成も中断できます。 これは、クエリコンソール の最初のクエリで、接続も作成される場合に特に関連します。
接続を作成するプロセスを停止できます。 これを行うには、接続の作成中にツールバーの Cancel Running Statements ボタン () をクリックします。 接続が停止され、 Connection canceled メッセージが表示されます。
解決モード
SQL スクリプトを実行し、データベースオブジェクトの使用をリンクとして扱い、正しいコード補完を行うために、PyCharm はコード内のデータベースオブジェクトを特定のコンテキストに解決する必要があります。 デフォルトでは、IDE はデータベースオブジェクトの解決の開始点として、 <スキーマ> セレクターまたはデフォルトデータベース(上記が未設定の場合)を使用します。
コードが単一のスクリプトか、複数の無関係な SQL ステートメントかによって、データベースオブジェクトを正しく解決するために、次のいずれかの解決モードを選択します:
Playground :クエリコンソールs のデフォルトモードです。 すべてのデータベースオブジェクトは同じコンテキストに解決されます。
コードが単一のスクリプトとして実行されない、関連付けられていない SQL ステートメントのセットである場合は、このモードを使用します。
スクリプト: ローカル SQL ファイルのデフォルトモード。
USESQL ステートメント(PostgreSQL の場合はSET search_path TO)は、データベースオブジェクトが解決されるデフォルトのコンテキストをオーバーライドします。コードを単一のスクリプトとして実行する場合は、このモードを使用します。
次のビデオでは、 public スキーマが クエリコンソール のデフォルトとして選択されています。 スキーマには actor テーブルが含まれていますが、 information_schema スキーマには含まれていません。 解決モードが Playground の場合、すべてのステートメントは無関係であるとみなされ、データベースオブジェクトは両方の SELECT ステートメントでデフォルトのスキーマに解決されます。
解決モードが スクリプト に変更されると、2 番目の SELECT ステートメントは SET search_path TO information_schema ステートメントに関連しているとみなされます。 actor テーブルはそのステートメントでは解決されなくなりました。
ユーザーパラメーター
データベースベンダーによっては、疑問符 ? が SQL ステートメントのパラメーターとして扱われる場合があります。 ツール | データベース | クエリ実行 | ユーザーパラメーター 設定ページ Ctrl+Alt+S で、他のどの文字とそのシーケンスをパラメーターとして扱うか、またどの場所で扱うかを指定できます。
SQL パラメーターのパターンは正規表現で指定します。
パラメーター化されたステートメントを実行する
ステートメントにパラメーターが含まれている場合、PyCharm はステートメントを実行する前にパラメーターの値を指定するよう促します。
パラメーター化されたステートメントを実行するには、ツールバーの 実行 ボタン (
) をクリックし、2 番目の列に値を入力します。 または、 パラメーター ダイアログを開くには、 View Parameters ボタン (
) をクリックします。

命名行動
PyCharm では、 位置指定および 名前指定ユーザーパラメーターを使用できます。 位置指定ユーザーパラメーターの場合、各出現は順序に応じて個別に扱われます。 名前指定ユーザーパラメーターの場合、同じ名前の出現はすべて同じパラメーターとして扱われます。
名前付きパラメーターを使用するには、 Ctrl+Alt+S を押して設定を開き、 に移動します。 パラメーターパターン ペインで、ユーザーパラメーターパターンに () を追加します。 IDE は () の内容をパラメーター名として扱い、スクリプト実行時に 1 つの値のみを要求します。 そうでない場合、スクリプト内で同じパラメーターが複数回使用されている場合、IDE はパラメーターの順序に応じて複数の値を要求します。
次の例を考えてみましょう。
\?\w+: 位置指定ユーザーパラメーターパターン。?xパラメーターは 2 つの異なるユーザーパラメーターとみなされます。 パラメーターの順序に応じて値が要求されます。
\?(\w+):名前指定ユーザーパラメーターパターン。?xは両方とも同じユーザーパラメーターと見なされ、xがパラメーターの名前です。
パラメーターパターンの詳細については、 ユーザーパラメーターのリファレンストピックを参照してください。
サンプル
パラメーターとしての配列
PyCharm では、パラメーターを値に置き換えるのは簡単です。 配列を値として使用するには、対応するフィールドに配列を指定します。
次の例では、 ? パラメーターを 206, 'John', 'Smith' 値に置き換えることができます。

パラメーターの詳細については、データベースのドキュメントを参照してください。
パラメーターパターン
スクリプトで特定のパラメーター構文を持つパラメーターがある場合、正規表現を利用してパターンを指定してください。
次の例では、 ツール | データベース | クエリ実行 | ユーザーパラメーター 設定ページ Ctrl+Alt+S で %{2}(\w+_\d+) パターンを設定する必要があります。

テーブル構造のプレビュー
IDE コードエディターでは、 クイックドキュメント 機能を使用して、SQL ステートメント内のテーブルの構造をプレビューできます。
SQL ステートメント内のテーブル構造をプレビューするには、テーブルを選択して Ctrl+Q を押します。
表示される クイックドキュメント ポップアップには、テーブルに関するその他の情報とともに CREATE DDL スクリプトが含まれます。
この機能の詳細については、 クイックドキュメント を参照してください。

実行されたステートメントの履歴を表示する
クエリ履歴を使用するダイアログ
PyCharm は クエリコンソール で実行したすべてのステートメントの履歴を保存します。
クエリ履歴 ダイアログを開くには、ツールバーの Browse Query History ボタン (
) をクリックするか、 Ctrl+Alt+E を押します。
クエリ履歴 ダイアログでは、次の操作を実行できます。
情報をフィルターするには、検索クエリを入力してください。
クエリ履歴 ダイアログから クエリコンソール にクエリを貼り付けるには、 クエリ履歴 ダイアログの左ペインでそのクエリをダブルクリックしてください。
履歴からレコードを削除するには、レコードを選択して Delete を押します。

結果の表示
通常、クエリを実行すると、結果は表形式で返されます。 PyCharm は、結果を データエディターで表示します。 デフォルトでは、各ステートメントごとに、結果を含むデータエディターが サービス ツールウィンドウの個別のタブに表示されます。
クエリ結果の表示の詳細については、 クエリ結果 を参照してください。

