こんにちは。たいら(@tairaengineer2)です。
この記事では、テーブルの列名を変更するsp_renameについて解説します。
スポンサーリンク
前提条件
この記事では、Microsoft SQL Server2017を使っています。
インストールの仕方は、下の記事をご参考ください。
sp_renameとは
sp_renameはテーブル名や列名など、テーブルに関するものを変更するときに使います。
sp_rename (TRANSACT-SQL)
適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data Warehouse
現在のデータベース内のユーザーが作成したオブジェクトの名前を変更します。
このオブジェクトは、テーブル、インデックス、列、別名データ型、またはMicrosoft.NET Framework共通言語ランタイム (CLR) ユーザー定義の型。
sp_rename (TRANSACT-SQL) - SQL Server | Microsoft Docsから引用させて頂きました
この記事では、sp_renameで列名を変更するやり方にしぼって解説します。
使い方は、以下のように使います。
実際に使って解説します。
sp_renameを使って列名を変更する
解説で使うテーブルはこちらです。
【Test】データベースの中にある【Person】テーブルです。
構造は以下のようになっています。
この解説では、【job】という列を【job_change】という名前に変更します。
変更するためのSQL文は以下です。
EXEC sp_rename 'Person.job', 'job_change', 'COLUMN';
実行してみます。
実行が成功すると
注意: オブジェクト名の任意の部分を変更すると、スクリプトやストアド プロシージャが中断する可能性があります。
というメッセージが表示されますが、問題ありません。
理由は、このメッセージは、変わったから気を付けてねという警告メッセージだからです。
ちなみに、このメッセージを表示しないようにする方法はありません(;^ω^)
では、列名が本当に変わっているか確認します。
最新の情報に更新して、【Person】テーブルを確認します。
【job】という列名が【job_change】という列名に変わっていますね!
スポンサーリンク
まとめ:sp_renameを使ってテーブルの列名を変更してみよう
以上がsp_renameを使ってテーブルの列名を変更するやり方です。
まとめなので、もう1度振り返ってみます。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
他にもSQL Serverについて記事を書いています。
良ければこちらもご参考ください。
【SQL Server】データベースのバックアップファイルを復元する方法を解説します
【SQL Server】大文字から小文字に変換するLOWER関数について解説します
【SQL Server】SELECTで出した結果をcsvに出力する方法を解説します
今までブログで書いたSQL Serverの解説記事のまとめは、こちらをご参考ください。