ALTER TABLE の使い方

表の形を変える

書き方

ALTER TABLE 表 ADD COLUMN 列 型;
ALTER TABLE 表 DROP COLUMN 列;
ALTER TABLE 表 RENAME COLUMN 古 TO 新;
ALTER TABLE 表 ADD CONSTRAINT 名前 …;

列の追加・削除・名前の変更・制約の追加ができます。

よく使うオプション

オプション意味
ADD COLUMN 列 型列を加える
DROP COLUMN 列列を消す(中のデータも消える)
RENAME COLUMN 古 TO 新列の名前を変える
ALTER COLUMN 列 TYPE 型列の型を変える(PostgreSQL)
ADD CONSTRAINT 名前 …制約を加える
RENAME TO 新しい名前表の名前を変える

例

ALTER TABLE customers ADD COLUMN email VARCHAR(100);ALTER TABLE

客の表にメールアドレスの列を加えます。今ある行の値は NULL になります。

ALTER TABLE products ADD COLUMN stock INTEGER NOT NULL DEFAULT 0;

在庫の列を加え、今ある行には 0 を入れます。NOT NULL の列を加えるときは DEFAULT も書きます。

ALTER TABLE customers RENAME COLUMN city TO town;

列の名前を city から town に変えます。中のデータはそのままです。

ALTER TABLE orders ADD CONSTRAINT orders_total_check CHECK (total >= 0);

金額がマイナスにならない決まりを、後から加えます。今ある行が決まりに合わないとエラーになります。

よくある間違い・注意

  • DROP COLUMN で消した列のデータは戻せません。
  • 型を変える書き方はデータベースで違います(Oracle は MODIFY、MySQL は MODIFY COLUMN)。
  • 大きな表の ALTER は、終わるまで表をロックすることがあります。

実際に打って練習する

SQL コースの Lv43「表の形を変える ALTER TABLE」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜3 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

SQL 構文一覧(使い方と例)へ戻る