V SQL můžete použít ALTER TABLE
pro přidání jednoho nebo více sloupců do existující tabulky.
Chcete-li to provést, použijte ADD
klauzule následovaná definicí sloupce. Více sloupců oddělte čárkou.
Zadejte pouze ADD
jednou (tj. není nutné jej uvádět pro každý sloupec).
Přidat jeden sloupec
Zde je základní příklad, kdy přidám jeden sloupec do existující tabulky.
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
V tomto případě jsem přidal sloupec nazvaný sloupec_2 do tabulky s názvem Test .
To by se dalo snadno udělat na jedné lince. Pro snadnější čitelnost zde používám pouze dva řádky.
Aby bylo jasno, je to tu znovu, ale tentokrát tabulku vytvořím, než ji upravím.
CREATE TABLE Test
(
column_1 int IDENTITY NOT NULL PRIMARY KEY
);
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
Všimněte si, že příklady na této stránce byly provedeny pomocí SQL Server. V závislosti na vašem DBMS možná budete muset změnit některé podrobnosti definic sloupců.
Například IDENTITY
je SQL Server verze toho, co se někdy nazývá AUTO_INCREMENT
v jiných DBMS (jako je MySQL). Pokud používáte SQLite, zde je návod, jak vytvořit sloupec s automatickým přírůstkem v SQLite.
Přidat více sloupců
Zde je návod, jak přidat dva nebo více sloupců.
ALTER TABLE Test ADD
column_3 int NULL,
column_4 int NULL;
Jak již bylo zmíněno, každý sloupec jednoduše oddělíte čárkou.
Přidat omezení
Můžete také přidat omezení ke všem sloupcům, které přidáte do existující tabulky. Zde je příklad.
ALTER TABLE Test ADD
column_5 int NOT NULL
CONSTRAINT u_column_5 UNIQUE;
Tento příklad přidá sloupec s názvem sloupec_5 s UNIQUE
omezení nazvané u_column_5 .
Je zřejmé, že skutečný kód, který použijete, bude záviset na názvu sloupce a omezení, které přidáváte, a také na jeho typu. Můžete například přidat omezení primárního klíče, omezení cizího klíče, omezení CHECK atd.
Toto také není jediný způsob, jak můžete do sloupce přidat omezení. Pokud sloupec již existuje, můžete použít ADD CONSTRAINT
přidat omezení vůči existujícímu sloupci.
Přidání omezení při přidávání sloupce vás jednoduše ušetří nutnosti přidávat jej později.