SQLでは、ALTER TABLE
を使用できます 既存のテーブルに1つ以上の列を追加するステートメント。
これを行うには、ADD
を使用します 句の後に列定義が続きます。複数の列をコンマで区切ります。
ADD
のみを指定してください 1回(つまり、列ごとに指定する必要はありません)。
1列追加
これは、既存のテーブルに1つの列を追加する基本的な例です。
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
この場合、 column_2という列を追加しました テストというテーブルに 。
これは、1行で簡単に実行できます。読みやすくするために、ここでは2行しか使用していません。
明確にするために、ここでも同じですが、今回は変更する前にテーブルを作成します。
CREATE TABLE Test
(
column_1 int IDENTITY NOT NULL PRIMARY KEY
);
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
このページの例はSQLServerを使用して行われたことに注意してください。 DBMSによっては、列定義の詳細を変更する必要がある場合があります。
例:IDENTITY
AUTO_INCREMENT
と呼ばれることもあるSQLServerのバージョンです。 他のDBMS(MySQLなど)。 SQLiteを使用している場合は、SQLiteで自動インクリメント列を作成する方法は次のとおりです。
複数の列を追加
2つ以上の列を追加する方法は次のとおりです。
ALTER TABLE Test ADD
column_3 int NULL,
column_4 int NULL;
前述のように、各列をコンマで区切るだけです。
制約の追加
既存のテーブルに追加する任意の列に制約を追加することもできます。これが例です。
ALTER TABLE Test ADD
column_5 int NOT NULL
CONSTRAINT u_column_5 UNIQUE;
この例では、 column_5という列を追加します UNIQUE
を使用 u_column_5と呼ばれる制約 。
明らかに、実際に使用するコードは、追加する列名と制約、およびそのタイプによって異なります。たとえば、主キー制約、外部キー制約、CHECK制約などを追加できます。
また、これが列に制約を追加できる唯一の方法ではありません。列がすでに存在する場合は、ADD CONSTRAINT
を使用できます 既存の列に対する制約を追加します。
列を追加するときに制約を追加すると、後で追加する必要がなくなります。