以前は手作業でデータベースにテーブル情報を入力して作成していましたが、現在は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の力を最大限に引き出し、効率よくデータベースを設計しましょう!