テーブルから列を削除する
適用対象: SQL Server 2016 (13.x) 以降
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric 内の SQL データベース
この記事では、SQL Server Management Studio (SSMS) または Transact-SQL を使用して SQL Server のテーブルの列を削除する方法について説明します。
注意事項
テーブルから列を削除すると、列および列に含まれているすべてのデータが削除されます。
制限事項
CHECK
制約がある列を削除することはできません。 最初に制約を削除する必要があります。
SSMS のPRIMARY KEY
を使用する場合を除き、FOREIGN KEY
、、またはその他の依存関係がある列を削除することはできません。 SSMS でオブジェクト エクスプローラーまたは Transact-SQL を使用する場合、最初に列のすべての依存関係を削除する必要があります。
アクセス許可
テーブルに対する ALTER
権限が必要です。
SQL Server Management Studio を使用して列を削除する
SSMS では、オブジェクト エクスプローラーまたはテーブル デザイナーを使用して列を削除できます。
オブジェクト エクスプローラーを使用して列を削除する
次の手順では、SSMS のオブジェクト エクスプローラーで列を削除する方法を説明します。
データベース エンジンのインスタンスへ接続します。
オブジェクト エクスプローラーで、列を削除するテーブルを探し、テーブルを展開して列名を表示します。
削除する列を右クリックして、[削除] を選びます。
[オブジェクトの削除] ダイアログ ボックスで [OK]を選択します。
列に制約またはその他の依存関係が含まれている場合は、 [オブジェクトの削除] ダイアログ ボックスにエラー メッセージが表示されます。 参照制約を削除することによって、エラーを解決します。
テーブル デザイナーを使用して列を削除する
次の手順では、SSMS のテーブル デザイナーで列を削除する方法を説明します。
オブジェクト エクスプローラーで、列を削除するテーブルを右クリックし、 [デザイン]をクリックします。
削除する列を右クリックし、ショートカット メニューの [列の削除] をクリックします。
列にリレーションシップ (
FOREIGN KEY
またはPRIMARY KEY
) が適用されている場合は、選択した列および列のリレーションシップの削除を確認するメッセージが表示されます。 [はい] をクリックします。
Transact-SQL を使用して列を削除する
SSMS の Transact-SQL、Azure Data Studio、または sqlcmd ユーティリティなどのコマンド ライン ツールを使用して、列を削除できます。
次の例では、column_b
テーブルから dbo.doc_exb
列を削除する方法を示します。 テーブルと列は既に存在している必要があります。
ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
GO
列に制約またはその他の依存関係が含まれている場合は、エラー メッセージが返されます。 参照制約を削除することによって、エラーを解決します。
他の例については、「ALTER TABLE」を参照してください。