I SQL kan du använda ALTER TABLE
för att lägga till en eller flera kolumner i en befintlig tabell.
För att göra detta, använd ADD
klausul, följt av kolumndefinitionen. Separera flera kolumner med ett kommatecken.
Ange bara ADD
en gång (dvs. det finns inget behov av att ange det för varje kolumn).
Lägg till en kolumn
Här är ett grundläggande exempel där jag lägger till en kolumn i en befintlig tabell.
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
I det här fallet lade jag till en kolumn som heter column_2 till tabellen Test .
Detta kunde lätt ha gjorts på en enda rad. Jag använder bara två rader här för lättare läsbarhet.
Bara för att vara tydlig, här är den igen, men den här gången skapar jag tabellen innan jag ändrar den.
CREATE TABLE Test
(
column_1 int IDENTITY NOT NULL PRIMARY KEY
);
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
Observera att exemplen på den här sidan gjordes med SQL Server. Beroende på ditt DBMS kan du behöva ändra vissa detaljer i kolumndefinitionerna.
Till exempel IDENTITY
är SQL Servers version av det som ibland kallas AUTO_INCREMENT
i andra DBMS (som MySQL). Om du använder SQLite, så här skapar du en kolumn med automatisk ökning i SQLite.
Lägg till flera kolumner
Så här lägger du till två eller flera kolumner.
ALTER TABLE Test ADD
column_3 int NULL,
column_4 int NULL;
Som nämnts separerar du helt enkelt varje kolumn med ett kommatecken.
Lägg till begränsningar
Du kan också lägga till begränsningar för alla kolumner som du lägger till i en befintlig tabell. Här är ett exempel.
ALTER TABLE Test ADD
column_5 int NOT NULL
CONSTRAINT u_column_5 UNIQUE;
Det här exemplet lägger till en kolumn som heter column_5 med en UNIQUE
begränsning som kallas u_column_5 .
Självklart kommer den faktiska koden du använder att bero på kolumnnamnet och begränsningen som du lägger till, såväl som dess typ. Du kan till exempel lägga till en primärnyckelrestriktion, en främmandenyckelrestriktion, en CHECK-restriktion, etc.
Detta är inte heller det enda sättet du kan lägga till begränsningar i en kolumn. Om kolumnen redan finns kan du använda ADD CONSTRAINT
för att lägga till en begränsning mot den befintliga kolumnen.
Om du lägger till begränsningen när du lägger till kolumnen slipper du helt enkelt lägga till den senare.