SQL Serverに列を追加する


101

SQL Serverテーブルに列を追加する必要があります。データを失うことなくそれを行うことは可能ですか、すでに持っていますか?

回答:


158

もちろん!ALTER TABLE...構文を使用してください。

ALTER TABLE YourTable
  ADD Foo INT NULL /*Adds a new int column existing rows will be 
                     given a NULL value for the new column*/

または

ALTER TABLE YourTable
  ADD Bar INT NOT NULL DEFAULT(0) /*Adds a new int column existing rows will
                                    be given the value zero*/

SQL Server 2008では、最初の変更はメタデータのみの変更です。2番目はすべての行を更新します。

SQL Server 2012+ Enterpriseエディションでは、2つ目もメタデータのみの変更です。


17

このクエリを使用します。

ALTER TABLE tablename ADD columname DATATYPE(size);

そしてここに例があります:

ALTER TABLE Customer ADD LastName VARCHAR(50);

1
コード、XML、またはデータサンプルを投稿する場合は、テキストエディターでそれらの行強調表示{ }し、エディターのツールバーの[コードサンプル]ボタン()をクリックして、フォーマットと構文を適切に強調表示してください。
marc_s 2011


2

テーブルに新しい列を追加

ALTER TABLE [table]
ADD Column1 Datatype

例えば

ALTER TABLE [test]
ADD ID Int

ユーザーが自動インクリメントする場合は、

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL

-1

デフォルト値で新しい列をテーブルに追加します。

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE

ここで何が起こっているのかについての簡単な説明を追加すると、あなたの答えははるかに良くなります。
Bonifacio2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.