V této části porozumíme tomu, jak se PostgreSQL příkaz ADD COLUMN používá k přidání jednoho nebo více sloupců do aktuální databázové tabulky.
PostgreSQL příkaz ADD COLUMN
Budeme používat změnit tabulku přidat sloupec, příkaz pro přidání nového sloupce do existující tabulky.
Syntax
Syntaxe Změňte příkaz přidat sloupec je uveden níže:
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
Ve výše uvedené syntaxi máme následující parametry:
10 ze 100
Parametr | Popis |
---|---|
Změnit stůl | Je to klauzule, která se používá k úpravě definice tabulky. |
Název_tabulky | Používá se k popisu názvu tabulky, kam potřebujeme přidat nový sloupec za klauzuli ALTER TABLE. |
New_cloumn _name | Používá se k zadání názvu sloupce s jeho atributem, jako je výchozí hodnota, datový typ atd., po podmínce PŘIDAT COLUMN. |
Poznámka: Když do tabulky přidáme nový sloupec, PostgreSQL jej vylepší na konec tabulky, protože PostgreSQL nemá jinou možnost definovat místo nového sloupce v tabulce.
Přidejte více sloupců pomocí příkazu alter table
Syntax přidání více sloupců pomocí příkazu alter table:
ALTER TABLE table_name ADD COLUMN new_column_name_1 data_type constraint, ADD COLUMN new_column_name_2 data_type constraint, ::: ::: ADD COLUMN new_column_name_N data_type constraint;
Příklady PostgreSQL ADD COLUMN
Pro lepší pochopení přidávání sloupců budeme postupovat podle níže uvedeného postupu:
Nejprve vytvoříme novou tabulku s názvem as Osoby se dvěma sloupci Person_id a First_name s pomocí níže uvedeného příkazu:
CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null );
Výstup
Po provedení výše uvedeného dotazu dostaneme níže uvedenou zprávu okno , který říká, že Osoby tabulka byla vytvořena:
Poté přidáme Adresa sloupec k Osoby tabulka s nápovědou níže uvedeného příkazu:
ALTER TABLE Persons ADD COLUMN Address VARCHAR;
Výstup
Po provedení výše uvedeného dotazu se nám zobrazí okno se zprávou níže:
A níže uvedený příkaz nám pomůže přidat Město a tel sloupců k Osoby stůl:
ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR;
Výstup
Po provedení výše uvedeného dotazu se nám zobrazí okno se zprávou níže:
Pokud chceme vidět Osoby struktura tabulky v psql , použijeme níže uvedený příkaz:
javatpoint=# d Persons
Výstup z Osoby struktura tabulky
Jak můžeme vidět na obrázku výše, máme Adresa, Město a Telefonní číslo sloupce přidány na konec seznamu sloupců tabulky Osoby.
Přidání sloupce s omezením NOT NULL
V tomto budeme přidávat sloupec s nenulovými omezeními do konkrétní tabulky, která obsahuje nějaká data.
seřadit seznam polí
Nejprve do něj vložíme nějaká data Osoby tabulku pomocí příkazu Vložit:
INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike');
Výstup
Můžeme vidět, že tři řádky byly vloženy do Osoby tabulka v níže uvedeném okně zpráv.
Nyní předpokládejme, že jsme chtěli přidat E-mailem sloupec k Osoby tabulky a k tomu použijeme následující příkaz:
bash pole
ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL;
Výstup
Jakmile provedeme výše uvedený příkaz, dostaneme jednu chybu, která to říká
sloupec 'e-mail' obsahuje hodnoty null
K výše uvedené chybě došlo, protože E-mailem sloupec obsahuje NENULOVÝ omezení.
V PostgreSQL nový sloupec přebírá NULA hodnotu při přidávání sloupců, což také narušuje NENULOVÝ omezení.
Chcete-li vyřešit výše uvedenou chybu, musíme provést následující kroky:
Krok 1
Nejprve musíme přidat sloupec bez NENULOVÝ omezení a k tomu použijeme následující příkaz:
ALTER TABLE Persons ADD COLUMN Email VARCHAR;
Výstup
Jak můžeme vidět v níže uvedeném okně zprávy, že E-mailem sloupec byl přidal do Osoby stůl:
Krok 2
Nyní aktualizujeme hodnoty pro sloupec Email.
UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 1; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 2; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 3;
Výstup
Jak můžeme vidět v níže uvedeném okně zprávy, že E-mailem hodnoty sloupců byly aktualizováno do Osoby stůl:
Pokud chceme zkontrolovat, zda jsou hodnoty aktualizovány nebo ne v Osoby stůl, použijeme Vybrat příkaz:
Select * From Persons;
Výstup
Výstup výše uvedeného dotazu je následující:
Krok 3
Po aktualizaci hodnoty sloupce Email nastavíme NENULOVÝ omezení pro E-mailem sloupec do Osoby tabulky pomocí následujícího příkazu:
ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL;
Výstup
Po provedení výše uvedeného příkazu se nám zobrazí okno se zprávou níže:
řetězec concat java