一旦、テーブルを作成した後で、フィールドを追加したり、削除したりしたいことはよくある。
その際に、テーブルを1から作成し直すのは面倒であるだけでなく、もしレコードを入力していれば、これらのレコードの入れ直しが発生してしまう。
そこで、既存のテーブルはそのままに、一部のフィールドの追加と削除の方法をご紹介しよう。
まずは、mysqlクライアントを起動しよう。
PS C:\Users\vinta> mysql -u myuser -p
Enter password: *****
続いて、basicデータベースに移動しよう。
mysql> USE basic;
Database changed
フィールドを追加しよう
以下の通り入力しよう。
ALTER TABLE usr ADD updated DATE AFTER family;
usrテーブルの末尾にupdatedフィールドを追加した。
以下の通り入力して、usrテーブルのフィールド情報を確認してみよう。
mysql> SHOW FIELDS FROM usr;
mysql> SHOW FIELDS FROM usr;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| uid | varchar(7) | YES | | NULL | |
| passwd | varchar(15) | YES | | NULL | |
| uname | varchar(20) | YES | | NULL | |
| family | int | YES | | NULL | |
| updated | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.04 sec)
追加したフィールドを削除しよう
追加したupdatedフィールドを削除してみよう。
以下の通り入力しよう。
ALTER TABLE usr DROP updated;
以下の通り入力して、usrテーブルのフィールド情報を確認してみよう。
mysql> SHOW FIELDS FROM usr;
mysql> SHOW FIELDS FROM usr;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| uid | varchar(7) | YES | | NULL | |
| passwd | varchar(15) | YES | | NULL | |
| uname | varchar(20) | YES | | NULL | |
| family | int | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
updatedフィールドは削除されている。
今回は、ここで、mysqlクライアントを終了しよう。
mysql> exit;
Bye
PS C:\Users\vinta>
(参考)3ステップでしっかり学ぶ MySQL入門 [改訂第3版] 山田奈美(著)山田祥寛(監修)技術評論社
コメント