Gemini の支援機能を使用して SQL を記述する

このドキュメントでは、Google Cloud の AI を活用したコラボレーターである Gemini が、Cloud SQL Studio での次の作業にどのように役立つかを説明します。

Gemini for Google Cloud がいつどのようにデータを使用するかについては、こちらをご覧ください。

このドキュメントは、SQL、データ分析、Cloud SQL に精通しているデータベース管理者とデータ エンジニアを対象としています。Cloud SQL を初めて使用する場合は、Cloud SQL の概要をご覧ください。

始める前に

  1. Gemini in Databases の設定が完了していることを確認します。
  2. このドキュメントのタスクを完了するために必要な Identity and Access Management(IAM)権限が付与されていることを確認します。
  3. Cloud SQL Studio へのアクセスを確認します。Cloud SQL Studio にアクセスできない場合は、Cloud SQL Studio に必要なロールと権限をご覧ください。
  4. 省略可: このドキュメントの例に従うには、次のスキーマを使用して Singers テーブルを作成します。

    CREATE TABLE
    Singers (
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      SingerInfo BYTEA,
      BirthDate  TIMESTAMPTZ
    );
    

    Singers テーブルを作成した後に、refresh [更新] をクリックしてデータベース スキーマを更新します。

必要なロールと権限

このドキュメントのタスクを完了するのに必要な権限を取得するには、プロジェクトに対する Cloud SQL 管理者roles/cloudsql.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

また、クエリエディタで SQL ステートメントの説明を取得するには cloudaicompanion.companions.generateChat 権限、コーディング サポートを使用するには cloudaicompanion.companions.generateCode 権限も必要です。

自然言語プロンプトを使用して SQL クエリを生成する

Gemini に自然言語でのコメント(プロンプトともいいます)を与えて、スキーマに基づくクエリを生成できます。たとえば、Gemini へのプロンプトを次のように指定すると、その応答として SQL が生成されます。

  • 「顧客満足度アンケートの結果を追跡する表を作成します。」
  • 「Singers テーブルに誕生日という日付列を追加します。」
  • 「90 年代に生まれた歌手は何人いますか?」

スキーマが変化する(たとえば新しいテーブルや列の追加)場合は、Gemini を使用する前に、refresh [更新] をクリックしてスキーマを更新してください。

Cloud SQL で Gemini 支援機能を使用して SQL を生成する手順は次のとおりです。

  1. Google Cloud コンソールで [Cloud SQL] ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [Cloud SQL Studio] をクリックします。

  4. データベースの名前、ユーザー名、パスワードを使用して Cloud SQL Studio にログインします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  5. タスクバーで pen_spark [Gemini] をクリックし、Cloud SQL の Gemini 機能を表示します。

  6. [コメントからクエリを生成] が有効になっていることを確認します。

  7. データベースにクエリを実行するには、 [新しい SQL エディタ] タブをクリックします。

  8. SQL を生成するには、-- で始まり単一行コメントが続くコメントをクエリエディタに入力してから、Return キーまたは Enter キーを押します。

    たとえば、次のプロンプトを入力します。

    -- add a row to table singers
    

    Return キーまたは Enter キーを押します。Gemini によって次のような SQL が生成されます。

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, 'Alex', 'M.', '1977-10-16');
    

    この Singers テーブルを使用する例を続行するには、次のプロンプトを入力します。

    -- show all singers born in the 70s
    

    Gemini によって次のような SQL が生成されます。

    SELECT *
    FROM Singers
    WHERE Singers.BirthDate
    BETWEEN '1970-01-01' AND '1979-12-31'
    
    
  9. SQL の提案を確認し、次のいずれかを行います。

    • Gemini によって生成された SQL を受け入れるためのオプションを表示するには、クエリの上にポインタを置きます。次のオプションが表示されます。
      • 同意: 提案されたクエリを受け入れるには、Tab キーを押してから [実行] をクリックします。
      • 単語を採用: 提案されたクエリを部分的に受け入れるには、Control+Right arrow(macOS では Command+Right arrow)キーを押してから [実行] をクリックします。
    • 元の SQL を編集するには、Tab キーを押し、SQL を編集してから、[実行] をクリックします。
    • 提案を受け入れない場合は、Esc キーを押すか、キーボードからの入力を続けます。

コーディング サポート ツール

コーディング サポート ツールを使用する手順は次のとおりです。

  1. Google Cloud コンソールで [Cloud SQL] ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [Cloud SQL Studio] をクリックします。

  4. データベースの名前、ユーザー名、パスワードを使用して Cloud SQL Studio にログインします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  5. データベースに対してクエリを実行するために、 [新しいタブ] をクリックします。

  6. クエリエディタの横にある pen_spark [コーディングをサポート] をクリックします。

  7. [コーディングをサポート] ウィンドウで、プロンプトを入力します。たとえば、add a row to table singers と入力して [生成] をクリックします。

    Gemini によって次のような SQL が生成されます。

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, Alex, 'M.', '1977-10-16');
    
  8. 生成された SQL を確認し、次のいずれかを行います。

    • Gemini によって生成された SQL を受け入れるには、[挿入] をクリックしてそのステートメントをクエリエディタに挿入します。その後で、[実行] をクリックして提案された SQL を実行します。
    • 新しいクエリを生成するよう Gemini にリクエストするには、[編集] をクリックします。メッセージを編集したら、[更新] をクリックします。生成された新しいステートメントを受け入れるか、提案を閉じるを判断します。
    • 提案を受け入れない場合は、[コーディングをサポート] ウィンドウを閉じます。

クエリエディタで SQL ステートメントを完成させる

SQL コードを書くユーザーを手助けするために、Cloud SQL の Gemini には、AI を活用してコード補完を提案する機能があります。Gemini が有効化されているときは、Cloud SQL Studio のクエリエディタでテキストを入力すると、Gemini の予測機能によって残りの SQL コードが自動入力されます。

インライン コード提案を使用する手順は次のとおりです。

  1. Google Cloud コンソールで [Cloud SQL] ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [Cloud SQL Studio] をクリックします。

  4. データベースの名前、ユーザー名、パスワードを使用して Cloud SQL Studio にログインします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  5. タスクバーで pen_spark [Gemini] をクリックし、Cloud SQL の Gemini 機能を表示します。

  6. [SQL の補完] を選択します。

  7. データベースにクエリを実行するには、 [新しい SQL エディタ] タブをクリックします。

  8. クエリを入力し、行の末尾にスペースまたは改行を入力します。テキストを入力していくと、選択されているデータベースのスキーマでサポートされているオブジェクトに基づいて Gemini から提案される SQL が表示されます。

    たとえば、Singers テーブルに行を追加するには、次のようにクエリの先頭部分を入力します。

    INSERT INTO Singers
    

    Gemini から、次のような SQL が提案されます。

    INSERT INTO Singers
    (SingerId, FirstName, LastName, BirthDate)
    VALUES
      (1, 'Marc', 'Singer', '1970-03-24')
    
  9. SQL の提案を確認し、次のいずれかを行います。

    • Gemini によって生成された SQL を受け入れるためのオプションを表示するには、クエリの上にポインタを置きます。次のオプションが表示されます。
      • 同意: 提案されたクエリを受け入れるには、Tab キーを押してから [実行] をクリックします。
      • 単語を採用: 提案されたクエリを部分的に受け入れるには、Control+Right arrow(macOS では Command+Right arrow)キーを押してから [実行] をクリックします。
    • 元の SQL を編集するには、Tab キーを押し、SQL を編集してから、[実行] をクリックします。
    • 提案を受け入れない場合は、Esc キーを押すか、キーボードからの入力を続けます。

クエリエディタで SQL ステートメントの説明を取得する

Cloud SQL で Gemini を使用すると、SQL クエリの説明を自然言語で取得することができます。この説明は、クエリが複雑な場合や長い場合に構文、基礎となるスキーマ、ビジネス コンテキストを理解するのに役立ちます。

  1. Google Cloud コンソールで [Cloud SQL] ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [Cloud SQL Studio] をクリックします。

  4. データベースの名前、ユーザー名、パスワードを使用して Cloud SQL Studio にログインします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  5. データベースに対してクエリを実行するために、 [新しいタブ] をクリックします。

  6. クエリエディタで、説明を取得したいクエリを貼り付けます。

  7. Gemini による説明を取得したいクエリをハイライト表示してから、spark [このクエリを説明する] をクリックします。

    SQL クエリの説明が Gemini の [チャット] ウィンドウに表示されます。

次のステップ