V tejto časti pochopíme, ako sa príkaz PostgreSQL ADD COLUMN používa na pridanie jedného alebo viacerých stĺpcov do aktuálnej databázovej tabuľky.
PostgreSQL príkaz ADD COLUMN
Budeme používať zmeniť tabuľku pridať stĺpec, príkaz na pridanie nového stĺpca do existujúcej tabuľky.
Syntax
Syntax súboru Zmeňte príkaz pridať stĺpec je uvedené nižšie:
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
Vo vyššie uvedenej syntaxi máme nasledujúce parametre:
Parameter | Popis |
---|---|
Zmeniť stôl | Je to klauzula, ktorá sa používa na úpravu definície tabuľky. |
Table_name | Používa sa na popis názvu tabuľky, kde potrebujeme pridať nový stĺpec za klauzulu ALTER TABLE. |
New_cloumn_name | Používa sa na zadanie názvu stĺpca s jeho atribútom, ako je predvolená hodnota, typ údajov atď., po podmienke ADD COLUMN. |
Poznámka: Keď do tabuľky pridáme nový stĺpec, PostgreSQL ho vylepší na koniec tabuľky, pretože PostgreSQL nemá inú možnosť definovať miesto nového stĺpca v tabuľke.
Pridajte viacero stĺpcov pomocou príkazu alter table
Syntax pridania viacerých stĺpcov pomocou prí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;
Príklady PostgreSQL ADD COLUMN
Pre lepšie pochopenie pridávania stĺpcov budeme postupovať podľa nižšie uvedeného postupu:
Najprv vytvoríme novú tabuľku s názvom as Osoby s dvoma stĺpcami Person_id a First_name pomocou nižšie uvedeného príkazu:
CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null );
Výkon
Po vykonaní vyššie uvedeného dotazu dostaneme nižšie uvedenú správu okno , ktorý hovorí, že Osoby tabuľka bola vytvorená:
Potom pridáme Adresa stĺpec k Osoby tabuľku s pomocou nižšie uvedeného príkazu:
ALTER TABLE Persons ADD COLUMN Address VARCHAR;
Výkon
Po vykonaní vyššie uvedeného dotazu sa nám zobrazí okno so správou nižšie:
A nižšie uvedený príkaz nám pomôže pridať Mesto a tel.č stĺpcov do Osoby tabuľka:
ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR;
Výkon
Po vykonaní vyššie uvedeného dotazu sa nám zobrazí okno so správou nižšie:
Ak chceme vidieť Osoby štruktúra tabuľky v psql , použijeme nasledujúci príkaz:
javatpoint=# d Persons
Výstup z Osoby štruktúra tabuľky
Ako môžeme vidieť na obrázku vyššie, máme Adresa, Mesto a Telefónne číslo stĺpce pridané na koniec zoznamu stĺpcov tabuľky Osoby.
Pridanie stĺpca s obmedzením NOT NULL
V tomto budeme pridávať stĺpec s nenulovými obmedzeniami do konkrétnej tabuľky, ktorá obsahuje nejaké údaje.
Najprv do nej vložíme nejaké údaje Osoby tabuľku pomocou príkazu Vložiť:
INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike');
Výkon
Vidíme, že tri riadky boli vložené do Osoby tabuľku v nižšie uvedenom okne správy.
koľko nula za milión
Teraz predpokladajme, že sme chceli pridať Email stĺpec k Osoby tabuľku a na to použijeme nasledujúci príkaz:
ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL;
Výkon
Po vykonaní vyššie uvedeného príkazu dostaneme jednu chybu, ktorá to hovorí
stĺpec 'e-mail' obsahuje hodnoty null
Vyššie uvedená chyba sa vyskytla, pretože Email stĺpec obsahuje NIE JE NULL obmedzenie.
V PostgreSQL nový stĺpec preberá NULOVÝ hodnotu pri pridávaní stĺpcov, čo tiež narúša NIE JE NULL obmedzenie.
Ak chcete vyriešiť vyššie uvedenú chybu, musíme postupovať podľa nasledujúcich krokov:
Krok 1
Najprv musíme pridať stĺpec bez NIE JE NULL obmedzenie a na tento účel použijeme nasledujúci príkaz:
ALTER TABLE Persons ADD COLUMN Email VARCHAR;
Výkon
Ako môžeme vidieť v nižšie uvedenom okne správy, že Email stĺpec bol pridané do Osoby tabuľka:
Krok 2
Teraz aktualizujeme hodnoty pre stĺpec 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ýkon
Ako môžeme vidieť v nižšie uvedenom okne správy, že Email hodnoty stĺpcov boli aktualizované do Osoby tabuľka:
Ak chceme skontrolovať, či sú hodnoty aktualizované alebo nie v Osoby stôl, použijeme Vyberte príkaz:
Select * From Persons;
Výkon
Výstup vyššie uvedeného dotazu je nasledujúci:
Krok 3
Po aktualizácii hodnoty stĺpca Email nastavíme NIE JE NULL obmedzenie pre Email stĺpec do Osoby tabuľky pomocou nasledujúceho príkazu:
ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL;
Výkon
Po vykonaní vyššie uvedeného príkazu sa nám zobrazí okno so správou nižšie: