T-SQLを使用してSQLServerでテーブルを作成するときは、そのテーブルのすべての列を、それらのデータ型、制約などとともに指定します。
しかし、ある日、そのテーブルに新しい列を追加することにした場合はどうなりますか?テーブルを再度作成せずに、既存のテーブルに新しい列を追加するにはどうすればよいですか?結局のところ、テーブルにはすでにデータが含まれているため、テーブルを削除してやり直すことは通常はオプションではありません。テーブルを削除して作成した後で、そのすべてのデータをバックアップして再挿入する必要はないでしょう。
答えは次のとおりです。ALTER TABLE
ステートメント。
ALTERTABLEステートメント
ALTER TABLE
ステートメントを使用すると、既存の定義とその中に存在する可能性のあるデータを台無しにすることなく、既存のテーブルを変更できます。
次のように、既存のテーブルに新しい列を追加できます。
次に例を示します:
ALTER TABLE Tasks ADD TaskDescription varchar(255) NULL; GO
この例では、TaskDescription
という新しい列を追加します Tasks
へ テーブル。新しい列のデータ型はvarchar(255)
です。 null値を含めることができます。
GO
も使用します この場合、これは実際にはTransact-SQLコマンドではありませんが、 sqlcmdによって認識されます。 およびosql ユーティリティとSQLServerManagement Studioコードエディタ、およびTransact-SQLステートメントのバッチの終了を通知します。
結果を確認する
指定されたテーブルのすべての列を返すクエリを実行することで、結果を確認できます。このように:
USE Solutions; SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks';
これにより、Tasks
のすべての列の詳細が一覧表示されます テーブル。正しいデータベースファー(この場合はSolutions
)に切り替えます データベース)。もちろん、必要に応じてデータベースとテーブル名を変更する必要があります。