T-SQL でカラム名(列名)を変更する方法
SQL Server のテーブルのカラム名を変更する
テーブルのカラム名の変更は、SQL Server Management Studio のオブジェクトエクスプローラからできますが、システムのデプロイ時など、スクリプトで変更したい時もあると思います。
今回の記事は SQL Server のテーブルのカラム名(列名)を変更する方法についてです。
[名前の変更] でカラム名を変更する
まずは、みなさんご存知かもしれませんが、SQL Server Management Studio のオブジェクトエクスプローラからカラム名を変更する方法です。
SQL Server Management Studio のオブジェクトエクスプローラで、変更したい データベース > テーブル > カラムを選択します。
右クリックし [名前の変更] をするか、カラムをもう一度クリックすると、カラム名が変更できるようになるので、新しいカラム名を入力します。
新しい名前を入力したら、フォーカスをはずすとカラム名が変更されます。
デザイン画面でカラム名を変更する
もうひとつ、SQL Server Management Studio からカラム名を変更する方法です。
SQL Server Management Studio のオブジェクトエクスプローラで、変更したい データベース > テーブル で右クリックし [デザイン] を選択します。
テーブルのデザイン画面が出てくるので、カラム名を変更して保存すると、カラム名が変更されます。
Transact-SQL でカラム名を変更する
最後に、T-SQL でカラム名を変更する方法です。
sp_rename という名前のシステムストアードプロシージャを使います。
カラム名を変更するスクリプトは次の通りです。
EXEC sp_rename 'スキーマ名.テーブル名.現在のカラム名', '新しいカラム名', 'COLUMN';
例えば、このスクリプトを実行すれば、Student テーブルの LastName カラムを LastNameEN というカラム名に変更できます。
EXEC sp_rename 'dbo.Student.LastName', 'LastNameEN', 'COLUMN';
リフレッシュすると、カラム名が変更されていますね。
スクリプト実行時の注意メッセージにも書かれていますが、どの方法でカラム名を変更しても、このカラムが使われている箇所まで変更してくれる訳ではありません。
カラム名を変更する際には、使われている箇所の変更もれがないように気をつけてくださいね!