logo

SQL Server の列の名前を変更する

SQL Server では、必要に応じていつでも列を変更できます。列名に意味がない場合、またはその作成目的を満たしていない場合は、テーブル列の名前を変更します。列の名前を変更する前に、オブジェクトに対する ALTER 権限があることを確認する必要があります。

制限と制限

SQL Server には、列名の変更時にいくつかの制限があります。これは、列の名前を変更しても、その列へのすべての参照の名前も変更されるわけではないためです。名前を変更した列に属するすべてのオブジェクトを手動で変更する必要があります。

例えば で参照されているテーブルの列を変更する場合は、 引き金 の場合は、新しい列名を反映するためのトリガーも変更する必要があります。の sys.sql_expression_dependency 名前を変更する前に、オブジェクトのすべての依存関係をリストするために使用できます。

SQL Server のテーブル列の名前を変更するには、主に次の 2 つの方法があります。

  1. トランザクション SQL。
  2. SQL Server 管理スタジオ (SSMS)

トランザクション SQL

SQL Server には、と呼ばれる標準ストアド プロシージャが用意されています。 SP_RENAME 現在のデータベース内のユーザー作成オブジェクトの名前を変更します。ユーザーが作成したオブジェクトは、テーブル、列、インデックス、エイリアス データ型などです。

特別な文字です

オブジェクト名の一部を変更すると、スクリプトとストアド プロシージャが壊れる可能性があります。次のことをお勧めします。 落とす オブジェクトと 再作成する このステートメントを使用してストアド プロシージャ、トリガー、ユーザー定義関数、またはビューの名前を変更するのではなく、新しい名前を使用します。

この方法を使用して列名を変更する構文は次のとおりです。

 EXEC SP_RENAME '[Table Name].[Old Column Name]', '[New Column Name]', COLUMN' 

列名の変更の例

次の例は、SP_RENAME ストアド プロシージャを使用した SQL Server 列の名前変更を示しています。これを行うには、' 学生' 以下のデータを含むテーブル:

SQL Server の列の名前を変更する

を変更したい場合は、 市' 新しい名前の列 ' 市の名前' このテーブルでは、上記で指定した SQL Server 構文またはストアド プロシージャを次のように使用できます。

 EXEC SP_RENAME 'Student.city', 'city_name', 'COLUMN' 

このスクリプトを実行すると、次のメッセージが表示されます。

SQL Server の列の名前を変更する

「student」テーブルを確認すると、「city」の列名が正常に変更されていることがわかります。

SQL Server の列の名前を変更する

SQL Server 管理スタジオ (SSMS)

SSMS は、コマンド ラインを使用する代わりにグラフィカル インターフェイスから SQL Server に接続して操作するために使用される Windows ソフトウェア ツールです。 Management Studio では、次の方法でテーブル列の名前を変更できます。

セレンの基本
  1. オブジェクト エクスプローラーを使用して列の名前を変更する
  2. 列名をダブルクリックします
  3. テーブル デザイナーを使用して列の名前を変更する

それぞれについて詳しく説明します。

オブジェクト エクスプローラーを使用して列の名前を変更する

オブジェクト エクスプローラーを使用して列名を変更するには、次の手順を実行します。

ステップ1: [データベース] -> [テーブル] メニューに移動し、展開します。

ステップ2: 目的のテーブルを選択して展開します。

ステップ 3: 列を選択して展開します。

ステップ 4: 変更する列名を右クリックし、「名前の変更」オプションを選択します。

以下の画像は、「」を選択した上記のすべての手順を説明しています。 学生' テーブル:

SQL Server の列の名前を変更する

ステップ5: 選択した列の新しい名前を入力します。

ステップ6: データベースまたはテーブルを更新して、名前変更手順を完了します。

ステップ 7: SELECT ステートメントを実行して、変更された列名を確認します。

テーブル デザイナーを使用して列の名前を変更する

オブジェクト エクスプローラーを使用して列名を変更するには、次の手順を実行します。

ステップ1: [データベース] -> [テーブル] メニューに移動し、展開します。

ステップ2: 列名を変更するテーブルを選択し、それを右クリックして、コンテキスト メニューから [デザイン] オプションを選択します。

SQL Server の列の名前を変更する

ステップ 3: [デザイン] オプションを選択すると、以下の画像のようなテーブルがデザイン モードで表示されます。

SQL Server の列の名前を変更する

ステップ 4: 変更する列を選択し、この列の新しい名前を入力します。名前を変更しましょう ファーストネーム 列へ f_name

ステップ5: デザイン ウィンドウで行った変更を保存するには、 近い ボタンをクリックしてから、 はい 表示されたポップアップウィンドウの ボタンをクリックします。

SQL Server の列の名前を変更する

デザイン ウィンドウで行った変更は、別の方法で保存できます。 ファイル メニューをクリックし、 テーブル名を保存する または を押してください CTRL+S キーボードの上で。

SQL Server の列の名前を変更する

ステップ6: SELECT ステートメントを実行して、変更された列名を確認します。

列名をダブルクリックします

ダブルクリックして列の名前を変更するには、次の手順を実行します。

ステップ1: [データベース] -> [テーブル] -> [列] に移動します。

ステップ2: 変更する列名を選択し、ダブルクリックします。以下の画像でより明確に説明されています。

SQL Server の列の名前を変更する

ステップ 3: 選択した列の新しい名前を入力します。

ステップ 4: データベースまたはテーブルを更新して、名前変更手順を完了します。

全加算器

ステップ5: SELECT ステートメントを実行して、変更された列名を確認します。

注: SSMS を使用して列名の変更を行うと、データベース テーブルの使用中に DBA の作業が理解しにくくなる可能性があるため、お勧めできません。したがって、データベースに変更を加える場合は、常に T-SQL クエリを使用することをお勧めします。