以前は手作業でデータベースにテーブル情報を入力して作成していましたが、現在はAIを活用することで、簡単に正確なSQLの
CREATE TABLE
文を作成できます。
本レッスンでは、AIを利用して
items
(商品テーブル)の
CREATE TABLE
文を生成し、XAMPP の phpMyAdmin で実行する流れを学びます。
以下のような
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 | 生成日時 |
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;
Apache
と
MySQL
を開始します。
http://localhost/phpmyadmin/
にアクセスします。
CREATE TABLE
文をコピー&ペースト。
items
テーブルが作成されたことを確認。
先ほどの命令の続きで、以下を追加命令してみてください。
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());
hello_db
データベースを選択。
INSERT INTO
文をコピー&ペースト。
items
テーブルにデータが登録されたことを確認。
AIの登場により、CREATE文の詳細を暗記する必要はなくなりましたが、処理の全体像を理解しておくことは依然として重要です。AIを活用する際は、エンジニアが上司、AIが部下のような関係であると考えると分かりやすいです。上司が適切な指示を出し、それに従って部下が作業を進めるように、AIには明確で具体的な指示を与えることが重要です。 適切にAIを活用できれば、複数のテーブルを一度に作成したり、より効率的にテーブル情報を設計することが可能になります。AIの力を最大限に引き出し、効率よくデータベースを設計しましょう!