【MySQL】カラムの追加・変更・削除
〈 前提 〉
mysql> SELECT * FROM items;
と実行すると、下記のように表示されるテーブルを用意する。
+----+--------------+-------+----------+
| id | name | price | category |
+----+--------------+-------+----------+
| 1 | にんじん | 60 | 野菜 |
| 2 | バナナ | 200 | 果物 |
| 3 | 牛乳 | 120 | 飲料 |
+----+--------------+-------+----------+
3 rows in set (0.00 sec)
カラムを追加する
例:mysql> ALTER TABLE items ADD COKUMN stock INT;
mysql> SELECT * FROM items;
+----+--------------+-------+----------+-------+
| id | name | price | category | stock |
+----+--------------+-------+----------+-------+
| 1 | にんじん | 60 | 野菜 | NULL |
| 2 | バナナ | 200 | 果物 | NULL |
| 3 | 牛乳 | 120 | 飲料 | NULL |
+----+--------------+-------+----------+-------+
3 rows in set (0.00 sec)
このようにカラムを追加すると、中身がNULLのカラムが追加される。
そこでUPDATEクエリを使って値を設定する。
mysql> UPDATE items SET stock = 100 WHERE id = 1;
mysql> UPDATE items SET stock = 150 WHERE id = 2;
mysql> UPDATE items SET stock = 80 WHERE id = 3;
mysql> SELECT * FROM items;
+----+--------------+-------+----------+-------+
| id | name | price | category | stock |
+----+--------------+-------+----------+-------+
| 1 | にんじん | 60 | 野菜 | 100 |
| 2 | バナナ | 200 | 果物 | 150 |
| 3 | 牛乳 | 120 | 飲料 | 80 |
+----+--------------+-------+----------+-------+
3 rows in set (0.00 sec)
カラム名を変更する
カラム名を変更するクエリでは、カラムのデータ型を入力する必要がある。
まずはデータ型を確認するため以下のクエリを実行する。
Typeの列がデータ型を表している。
mysql> DESCRIBE items;
+----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | text | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| category | text | YES | | NULL | |
| stock | int(11) | YES | | NULL | |
+----------+---------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
カラム名変更のクエリを実行する。
例:ALTER TABLE items CHANGE COLUMN price cost INT;
カラムを削除する
例:ALTER TABLE items DROP COLUMN category;