AIを使ってテーブルをCREATE文を作成しよう

1. はじめに

以前は手作業でデータベースにテーブル情報を入力して作成していましたが、現在はAIを活用することで、簡単に正確なSQLの CREATE TABLE文を作成できます。

本レッスンでは、AIを利用して items(商品テーブル)の CREATE TABLE文を生成し、XAMPP の phpMyAdmin で実行する流れを学びます。

2. 商品テーブルのテーブル情報表

以下のような itemsテーブルを作成します。

フィールド Null 主キー デフォルト値 コメント
id int(11) NO PRI AUTO_INCREMENT Auto Increment
item_name varchar(255) NO NULL 商品名
price int(11) YES NULL 価格(円)
release_date date YES NULL 発売日
description text YES NULL 商品説明
delete_flg tinyint(4) NO 0 削除フラグ(0: 有効, 1: 削除)
updated datetime NO CURRENT TIMESTAMP ON UPDATE CURRENTTIMESTAMP 更新日時
created datetime NO CURRENT_TIMESTAMP 生成日時

3. AIで CREATE TABLE文を作成する

AI でテーブルを作成するSQLを作成してみましょう。

Chat GPTやGeminiを起動し、以下の命令をしてみてください。CREATE文が生成されるはずです。

AIへの命令


以下のテーブル情報からCREATE文を作成してください。

items(商品テーブル)
フィールド        | 型            | Null | 主キー | デフォルト値                                                        | コメント               
------------ | ------------ | ---- | --- | ------------------------------------------------------------- | -------------------
id           | int(11)      | NO   | PRI | AUTO_INCREMENT                                                | Auto Increment     
item_name    | varchar(255) | NO   |     | NULL                                                          | 商品名                
price        | int(11)      | YES  |     | NULL                                                          | 価格(円)              
release_date | date         | YES  |     | NULL                                                          | 発売日                
description  | text         | YES  |     | NULL                                                          | 商品説明               
delete_flg   | tinyint(4)   | NO   |     | 0                                                             | 削除フラグ(0: 有効, 1: 削除)
updated      | datetime     | NO   |     | CURRENT
        _TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
       | 更新日時               
created      | datetime     | NO   |     | CURRENT_TIMESTAMP                                             | 生成日時               

生成されたSQL( CREATE TABLE)

CREATE TABLE items (
    id INT(11) NOT NULL AUTO_INCREMENT COMMENT 'Auto Increment',
    item_name VARCHAR(255) NOT NULL COMMENT '商品名',
    price INT(11) DEFAULT NULL COMMENT '価格(円)',
    release_date DATE DEFAULT NULL COMMENT '発売日',
    description TEXT DEFAULT NULL COMMENT '商品説明',
    delete_flg TINYINT(4) NOT NULL DEFAULT 0 COMMENT '削除フラグ(0: 有効, 1: 削除)',
    updated DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新日時',
    created DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '生成日時',
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

4. XAMPP の phpMyAdmin で SQL を実行する

4.1. XAMPP の起動

  1. XAMPP を起動し、 ApacheMySQLを開始します。
  2. ブラウザで http://localhost/phpmyadmin/にアクセスします。
  3. 前回のレッスンで作成したhello_dbをクリック。

4.2. SQLの実行

  1. 「SQL」タブを開き、生成した CREATE TABLE文をコピー&ペースト。
  2. 「実行」ボタンをクリック。
  3. itemsテーブルが作成されたことを確認。

5. 次にAIで サンプルデータを生成するSQLを作ってもらいましょう

先ほどの命令の続きで、以下を追加命令してみてください。

AIへの命令

	サンプルデータを10件登録するINSERT文を作成してください。

生成されたSQL

INSERT INTO items (item_name, price, release_date, description, delete_flg, updated, created) VALUES
('スマートフォンX', 98000, '2024-01-15', '最新のスマートフォンX。高性能カメラ搭載。', 0, NOW(), NOW()),
('ノートパソコンY', 150000, '2023-11-25', '軽量で持ち運びに便利なノートパソコンY。', 0, NOW(), NOW()),
('ワイヤレスイヤホンZ', 12000, '2024-02-05', '高音質のワイヤレスイヤホンZ。', 0, NOW(), NOW()),
('ゲーミングマウス', 8000, '2023-09-10', 'RGBライト付きのゲーミングマウス。', 0, NOW(), NOW()),
('スマートウォッチA', 22000, '2024-03-01', '健康管理機能付きのスマートウォッチA。', 0, NOW(), NOW()),
('タブレットB', 45000, '2023-12-18', '大画面で動画視聴に最適なタブレットB。', 0, NOW(), NOW()),
('ポータブルスピーカーC', 9000, '2024-01-30', '防水仕様のポータブルスピーカーC。', 0, NOW(), NOW()),
('デジタルカメラD', 78000, '2023-10-05', '高画質撮影が可能なデジタルカメラD。', 0, NOW(), NOW()),
('ワイヤレスキーボードE', 6000, '2023-11-08', '静音設計のワイヤレスキーボードE。', 0, NOW(), NOW()),
('モニターF', 55000, '2024-02-20', '4K解像度対応の高品質モニターF。', 0, NOW(), NOW());

5.1. SQLの実行

  1. hello_dbデータベースを選択。
  2. 「SQL」タブを開き、上記の INSERT INTO文をコピー&ペースト。
  3. 「実行」ボタンをクリック。
  4. itemsテーブルにデータが登録されたことを確認。

6. まとめ

AIの登場により、CREATE文の詳細を暗記する必要はなくなりましたが、処理の全体像を理解しておくことは依然として重要です。AIを活用する際は、エンジニアが上司、AIが部下のような関係であると考えると分かりやすいです。上司が適切な指示を出し、それに従って部下が作業を進めるように、AIには明確で具体的な指示を与えることが重要です。 適切にAIを活用できれば、複数のテーブルを一度に作成したり、より効率的にテーブル情報を設計することが可能になります。AIの力を最大限に引き出し、効率よくデータベースを設計しましょう!