MySQLテーブルから既存のカラムを削除する方法を解説
MySQLでは、ALTER文とDROP句を組み合わせることで、テーブルから特定の既存カラム(列)を削除できます。この操作はデータベースのスキーマ変更において頻繁に使われる基本構文の一つです。
基本構文
ALTER TABLE テーブル名 DROP カラム名;
各要素の意味は以下の通りです。
- テーブル名:削除対象のカラムが含まれるテーブルの名前を指定します。
- カラム名:テーブルから削除したいカラムの名前を指定します。
実行例
ここでは、テーブル「student_detail」から「address」というカラムを削除する例を見ていきましょう。
まず、現在のテーブルの中身を確認します。
mysql> select * from student_detail; +-----------+-------------+----------+ | Studentid | StudentName | address | +-----------+-------------+----------+ | 100 | Gaurav | Delhi | | 101 | Raman | Shimla | | 103 | Rahul | Jaipur | | 104 | Ram | Ludhiana | | 105 | Mohan | Patiala | +-----------+-------------+----------+ 5 rows in set (0.19 sec)
次に、ALTER TABLE文を使って「address」カラムを削除します。
mysql> ALTER TABLE student_detail DROP address; Query OK, 0 rows affected (1.43 sec) Records: 0 Duplicates: 0 Warnings: 0
削除後、再度テーブルの内容を確認してみましょう。
mysql> select * from student_detail; +-----------+-------------+ | Studentid | StudentName | +-----------+-------------+ | 100 | Gaurav | | 101 | Raman | | 103 | Rahul | | 104 | Ram | | 105 | Mohan | +-----------+-------------+ 5 rows in set (0.00 sec)
上記の結果セットから、「address」カラムがテーブルから正常に削除されたことが確認できます。
注意点
DROPで削除したカラムとそのデータは元に戻せません。実行前に必ず対象テーブルのバックアップを取得するか、本番環境以外で動作を十分に確認してから操作を行うことをおすすめします。また、大きなテーブルに対してこの操作を実行すると、処理に時間がかかる場合がある点にも留意してください。
-
MySQLで既存カラムからON UPDATE CURRENT_TIMESTAMPを削除する方法
ON UPDATE CURRENT_TIMESTAMPとはON UPDATE CURRENT_TIMESTAMPは、明示的なタイムスタンプを指定せずにレコードを更新した場合に、そのカラムの値が自動的に現在の日時へ更新されるよう定義する属性です。この設定を解除したい場合は、ALTER文(ALTER TABLE)を使用してカラム定義を変更することで実現できます。ON UPDATE CURRENT_TIMESTAMPを削除する構文基本となる構文は以下のとおりです。ALTER TABLE テーブル名CHANGE タイムスタンプカラム名 タイムスタンプカラム名 timestamp NOT NULL de
-
MySQLでテーブルのすべての列を削除する方法|DROP TABLEコマンドの使い方を解説
MySQLでテーブル内の全カラムを削除するには?MySQLでは、テーブルに存在するすべてのカラム(列)を1つずつ削除していくことはできません。すべての列を削除したい場合、つまりテーブル自体をデータベースから取り除きたい場合は、DROP TABLE コマンドを使用します。DROP TABLEの基本構文DROP TABLE テーブル名;このコマンドを実行すると、指定したテーブルとその中のすべてのデータ・構造が完全に削除されます。なお、この操作は元に戻せないため、実行前には必ず内容を確認してください。実際に試してみよう:サンプルテーブルの作成まずは動作を確認するために、以下のようにサンプルテーブルを