MySQL に存在する場合は列を削除する
今日の投稿では、MySQL に存在する場合に単一または複数の列を削除する方法を学びます。
MySQL に存在する場合は列を削除する
表では、列は、テキスト、数値、およびグラフィックスを含めることができるセルの行です。 テーブルの行ごとに、値が各列に格納されます。
テーブルから単一または多数の列を削除したい場合があります。 テーブルの列は、MySQL ALTER TABLE
コマンドを使用して追加、変更、削除/削除できます。
列がテーブルから削除されると、それらが含まれていたすべてのインデックスからも削除されます。 インデックスを構成するすべての列が削除されると、インデックスも消去されます。
IF EXISTS
句は、データベース、テーブル、およびビューを削除するためにのみ使用されます。 IF EXISTS
を使用する場合、削除しようとするオブジェクトが存在しない場合、MySQL がエンティティの不在を認識して警告を送信するとすぐに実行が中断されます。
システム スキーマは、MySQL で使用されるスキーマです。 これには、実行中の MySQL サーバーが必要とするデータを含むテーブルと列が含まれます。
MySQL スキーマは、一般的な操作用のシステム テーブルと、データベース アイテムのメタデータを格納するためのデータ ディクショナリ テーブルに大別されます。 COLUMNS
テーブルには、テーブルの列に関する詳細が含まれています。
構文:
DROP COLUMN column_name ON table_name;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = table_name AND COLUMN_NAME = column_name
ここで、column_name
は削除する列の名前で、table_name
は列を削除するテーブルの名前です。 DROP COLUMN
句の COLUMN
という用語はオプションであるため、次の短いステートメントを使用できます。
ALTER TABLE table_name DROP column_name;
最後から 2 番目のフレーズは、操作をコンマで区切ると、単一の ALTER TABLE
クエリで多数のドロップ アクションを実行できることを示しています。
前の概念をさらに理解するために、次の例を検討してください。
DROP COLUMN email ON Employees;
ALTER TABLE Employees DROP COLUMN email;
IF EXISTS (SELECT 1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Employees'
AND COLUMN_NAME = 'email')
BEGIN
ALTER TABLE Employees
DROP COLUMN email
END
GO
上記の例では、Employees
テーブルの email
列を削除しています。 これにより、email
列、保存されたすべてのデータ、および関連するすべてのインデックスが削除されます。
email
列が Employees
テーブルにあることを確認したい場合は、最後のコマンドを使用します。このコマンドは INFORMATION_SCHEMA
から確認し、true が返された場合は削除します。
MySQL と互換性のあるブラウザで上記のコード行を実行します。 次の結果が表示されます。
出力:
Query executed successfully.
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn