MySQLでテーブルから列(カラム)を削除する方法をわかりやすく解説
MySQLのテーブルから不要になった列(カラム)を削除したい場合、ALTER TABLE文とDROPキーワードを組み合わせて使用します。この操作は「カラムの削除(ドロップ)」と呼ばれ、データベースの構造変更において頻繁に使われる基本操作の一つです。
列を削除する基本構文
MySQLでテーブルから列を削除するには、以下の構文を使用します。
ALTER TABLE テーブル名 DROP COLUMN カラム名;
なお、「COLUMN」というキーワードは省略可能です。そのため、次のように書いても同じ結果になります。
ALTER TABLE テーブル名 DROP カラム名;
実際の実行例
ここでは、studentテーブルからclassという列を削除する例を見てみましょう。
mysql> ALTER TABLE student DROP COLUMN class; Query OK, 5 rows affected (0.34 sec) Records: 5 Duplicates: 0 Warnings: 0
このクエリを実行すると、studentテーブルからclassという名前の列が完全に削除されます。実行結果のメッセージから、5行のレコードが処理され、エラーや警告なく正常に完了したことがわかります。
削除後の確認方法
列が正しく削除されたかどうかを確認するには、DESCRIBE文を使ってテーブルの構造を表示します。
mysql> DESCRIBE student;
このコマンドを実行すると、現在残っている列の一覧とそれぞれのデータ型が表示されるため、class列が消えていることを確認できます。
注意点
- データは復元できません: 列を削除すると、その列に格納されていたすべてのデータも同時に失われます。重要なデータが含まれている場合は、事前にバックアップを取っておくことを強くおすすめします。
- インデックスや制約にも影響: 削除対象の列にインデックスや外部キー制約が設定されている場合、それらも一緒に削除されます。
- 本番環境では慎重に: 本番稼働しているデータベースでの操作は、アプリケーションへの影響を十分に確認してから実行しましょう。
以上のように、ALTER TABLE文とDROPキーワードを使えば、MySQLのテーブルから簡単に列を削除できます。ただし、削除したデータは元に戻せないため、実行前には必ず内容を確認してください。
-
MySQLのENUM型(列挙型)から値を削除する方法をわかりやすく解説
MySQLのENUM型(列挙型)から不要な値を削除したい場合、ALTERコマンドを使用します。この記事では、実際のSQL例を使いながら、ENUM型から値を取り除く手順を順番に解説します。 1. サンプルテーブルの作成 まずは、3つの値(LOW・MEDIUM・HIGH)を持つENUM型カラムを含むテーブルを作成しましょう。 mysql> create table DemoTable ( `Rank` ENUM(LOW,MEDIUM,HIGH) ); Query OK, 0 rows affected (0.52 sec) 2. テーブル構造の確認 DESCコマン
-
MySQLのテーブルから主キーを削除する方法|DROP PRIMARY KEYの使い方を解説
MySQLでは主キーを削除できる? 結論から言うと、MySQLでは ALTER TABLE 文に DROP PRIMARY KEY 句を組み合わせることで、テーブルから主キー(プライマリーキー)を削除することが可能です。 基本構文 ALTER TABLE テーブル名 DROP PRIMARY KEY; それでは、実際にサンプルテーブルを作成し、主キーを削除する流れを順番に見ていきましょう。 主キーの削除手順 ステップ1:サンプルテーブルを作成する まず、UserId カラムに主キーを設定したテーブルを作成します。 mysql> CREATE TABLE DemoTable (