sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)の既存のテーブルに新しい列を追加する方法

    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)に切り替えます データベース)。もちろん、必要に応じてデータベースとテーブル名を変更する必要があります。


    1. UTL_FILE.FOPEN()プロシージャがディレクトリのパスを受け入れていませんか?

    2. 3つの簡単なSQLServerパフォーマンスの勝利

    3. PostgreSQLの日付から月の名前を取得する

    4. キーワードによるOracleパーティション