# (要確認)SQLのDDLとクエリ作成

SQLのDDLとクエリ作成アプリでは「動作環境」と「実現したいこと」「テーブル情報」を入力するだけで実行するためのクエリを生成します。

<figure><img src="/files/TXed6c4aAF7NndC9xN8D" alt=""><figcaption></figcaption></figure>

下記の入力例を基にクエリを生成します。

## 入力例 <a href="#example1" id="example1"></a>

* **動作環境：**&#x4D;ySQL
* **実現したいこと：**&#x30C6;ーブルの作成
* **テーブル情報：**&#x69;d 商品名 値段

<figure><img src="/files/qlgmJ8nwlt3RM5U3KUFx" alt=""><figcaption></figcaption></figure>

## 結果例 <a href="#example2" id="example2"></a>

入力例の内容で生成を実施すると下記のようなクエリ案と解説が生成されます。

生成された文章は、その場で編集やコピー、ファイルとしてダウンロード(txt・PDF・docx)が可能です。

{% code overflow="wrap" %}

```
SQLのDDL
以下のDDL文を使用して、テーブルを作成します。

CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    price DECIMAL(10,2) NOT NULL
);
Insert文
以下のInsert文を使用して、テーブルにデータを挿入します。

INSERT INTO products (product_name, price) VALUES ('Apple', 100.00);
INSERT INTO products (product_name, price) VALUES ('Banana', 50.00);
INSERT INTO products (product_name, price) VALUES ('Cherry', 200.00);
テーブルに対してのクエリ
以下のクエリを使用して、テーブルからデータを取得します。

SELECT * FROM products;
SQLの解説
CREATE TABLE products: productsという名前のテーブルを作成します。
id INT AUTO_INCREMENT PRIMARY KEY: idという名前の列を作成します。この列のデータ型は整数(INT)で、AUTO_INCREMENTキーワードはこの列の値が自動的に増加することを意味します。PRIMARY KEYキーワードはこの列がテーブルの主キーであることを示します。
product_name VARCHAR(255) NOT NULL: product_nameという名前の列を作成します。この列のデータ型は可変長文字列(VARCHAR)で、最大長は255文字です。NOT NULLキーワードはこの列がNULL値を許可しないことを示します。
price DECIMAL(10,2) NOT NULL: priceという名前の列を作成します。この列のデータ型は小数(DECIMAL)で、全体の桁数は10桁、小数点以下の桁数は2桁です。NOT NULLキーワードはこの列がNULL値を許可しないことを示します。
INSERT INTO products (product_name, price) VALUES ('Apple', 100.00): productsテーブルに新しい行を挿入します。この行のproduct_name列の値は'Apple'、price列の値は100.00です。
SELECT * FROM products: productsテーブルからすべての行と列を選択します。
```

{% endcode %}

<figure><img src="/files/tyfNHwgsGV8rTQVYiVHN" alt=""><figcaption></figcaption></figure>

## アプリ編集画面 <a href="#edit" id="edit"></a>

標準で用意されているインプット項目とLLMモデル・プロンプトは下記の内容になります。

### インプット <a href="#input" id="input"></a>

利用者に入力してもらいたい項目を3つご用意しています。

インプット項目は追加や削除、入力形式(インプットタイプ)の変更をすることができます。

<figure><img src="/files/RJBLlXjUOLe7pXS2lzfw" alt=""><figcaption></figcaption></figure>

* **動作環境（例:MySQLなど）**
  * 変数：@system
  * インプットタイプ：テキスト
* **やりたいこと**
  * 変数：@function
  * インプットタイプ：テキスト
* **テーブル情報（テーブル情報をコピーして貼り付けてください。複数テーブルの場合はテーブル毎に改行してください）**
  * 変数：@table
  * インプットタイプ：パラグラフ

#### インプットのOne Pointアドバイス <a href="#input_onepoint" id="input_onepoint"></a>

{% hint style="info" %}
動作環境があらかじめ特定のツールに限定されている場合は、インプット項目から外しプロンプトで指定するか、複数選択より選択肢として与える形式に変更できます
{% endhint %}

### LLMモデル <a href="#model" id="model"></a>

標準モデルは「OPENAI GPT4 TURBO」がセットされています。

{% hint style="warning" %}
モデルを変更することで生成結果の仕上がりが変わる場合があります。
{% endhint %}

### プロンプト <a href="#prompt" id="prompt"></a>

{}で囲まれているものはインプットで設定されている変数が当てはめられており、プロンプト記載欄の下にチップの形で表示されている変数をクリックすると簡単に記載ができます。

{% hint style="warning" %}
インプットの変数を変更した際は、プロンプト内の変数も変更する必要があります。
{% endhint %}

#### プロンプトのOne Pointアドバイス <a href="#prompt_onepoint" id="prompt_onepoint"></a>

{% hint style="info" %}
社内で利用している環境が一つに限定されている場合は、以下のようにプロンプトで直接指定を行なってください。\
\
-動作環境：MySQL
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.allganize.ai/alli-llm-app-market/app-market/default-apps/it/sql_query.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
