MySQLで、既に作成済みのテーブルに対して新たにカラムを追加する方法を紹介します。
【ALTER TABLE ~ ADD】既存テーブルにカラムを追加する
1 |
ALTER TABLE テーブル名 ADD 新規カラム名 型情報 オプション; |
テーブルにカラムを追加するには、テーブルの構造を変更する「ALTER TABLE」を使います。
例えば「user」テーブルに対して、NULLを許可しない「nickname」というカラムを追加する場合は以下のようになります。
1 |
ALTER TABLE user ADD nickname varchar(255) NOT NULL; |
追加するカラムの順序を指定する
また、追加するカラムの位置を指定することもできます。位置の指定には、「AFTER」と「FIRST」を使います。
1 2 |
ALTER TABLE テーブル名 ADD 新規カラム名 型情報 AFTER 既存カラム名; ALTER TABLE テーブル名 ADD 新規カラム名 型情報 FIRST; |
「FIRST」を使えば一番の最初のカラムに、「AFTER」を使えば指定カラムの後に新規カラムが追加されます。
複数カラムを一括で追加する
さらに、括弧でくくることで複数のカラムを一括で追加することもできます。
1 |
ALTER TABLE テーブル名 ADD (新規カラム名1 型情報, 新規カラム名2 型情報, ...); |
追加するカラムは括弧でくくられ、カンマ「,」区切りで複数記述できます。
「user」テーブルに、「mail」と「tel」の2つを追加する場合は以下のようなクエリになります。
1 |
ALTER TABLE user ADD (mail text, tel tinytext); |
また、追加されたカラムは「ALTER TABLE ~ CHANGE」で名前や型情報を変更することもできます。