SQLでカラム削除するALTER TABLE DROP column〜|複数カラム削除も

SQL

SQLのALTER TABLE DROP column文を調べる人

SQLを調べる人
「テーブルにある一部のカラムを削除したいです。ALTER TABLE DROP [column]句をどのように指定すればいいでしょう?
コピペしてそのまま使えるカラム削除のサンプルコードも欲しい。また、複数カラムをまとめて削除する方法も知りたい。」

こんな疑問に答えます。

結論から言うと、カラムを削除するSQLの構文は以下の通りです。

[構文]

ALTER  TABLE  [テーブル名]  DROP  [カラム名];

以下では、リンゴとオレンジとバナナのデータを使ってカラム削除の方法を解説します。

事前準備

テーブルを作ります

CREATE TABLE test (id INTEGER NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL, PRIMARY KEY(id),price INTEGER NOT NULL);

次にリンゴ、オレンジ、バナナにそれぞれ値段をつけて登録します

INSERT INTO test (name,price) VALUES('Apple',120);
INSERT INTO test (name,price) VALUES('Orange',200);
INSERT INTO test (name,price) VALUES('Banana',100);

準備完了

ALTER TABLE DROP column ..句を使う準備

準備したテーブルの内容は以下の通りです。

+----+--------+-------+
| id | name   | price |
+----+--------+-------+
|  1 | Apple  |   120 |
|  2 | Orange |   200 |
|  3 | Banana |   100 |
+----+--------+-------+

ALTER TABLE DROP [column]句を使ってカラム削除する例

ALTER TABLE DROP column句を使った例

果物の価格priceを削除します。

ALTER TABLE test DROP price;

実行結果は以下の通りです。
[実行結果]

+----+--------+
| id | name   |
+----+--------+
|  1 | Apple  |
|  2 | Orange |
|  3 | Banana |
+----+--------+

カラムpriceが各レコードからも一律削除されました。

複数のカラムをまとめて削除する

もとのテーブルから複数のカラムを同時に削除します。まずは以下のテーブルを準備します。

+----+--------+-------+
| id | name   | price |
+----+--------+-------+
|  1 | Apple  |   120 |
|  2 | Orange |   200 |
|  3 | Banana |   100 |
+----+--------+-------+

果物の価格を入れるprice列を追加します。整数型、NOT NULL制約ありで定義します。

ALTER TABLE test DROP id, DROP price;

実行結果は以下の通りです。

+--------+
| name   |
+--------+
| Apple  |
| Orange |
| Banana |
+--------+

今回は以上です。

本記事の内容は、実際に手を動かしてみることをオススメします。

コピペで簡単に実行できますのでぜひ試して下さい。

最後に構文をおさらい

[構文]

ALTER  TABLE  [テーブル名]  DROP  [カラム名];