I det här avsnittet kommer vi att förstå hur PostgreSQL ADD COLUMN-kommandot används för att lägga till en eller flera kolumner till den aktuella databastabellen.
PostgreSQL ADD COLUMN kommando
Vi kommer att använda ändra tabell lägg till kolumn, kommando för att lägga till den nya kolumnen i en befintlig tabell.
Syntax
Syntaxen för Kommandot Ändra lägg till kolumn ges nedan:
java xor
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
I ovanstående syntax har vi följande parametrar:
Parameter | Beskrivning |
---|---|
Ändra bord | Det är en klausul som används för att ändra definitionen av en tabell. |
Tabellnamn | Det används för att beskriva tabellnamnet där vi behöver lägga till en ny kolumn efter ALTER TABLE-satsen. |
New_cloumn _name | Den används för att ange kolumnnamnet med dess attribut som standardvärde, datatyp och så vidare, efter villkoret ADD COLUMN. |
Obs: När vi lägger till en ny kolumn i tabellen, förbättrar PostgreSQL den i slutet av tabellen eftersom PostgreSQL inte har något annat val att definiera den nya kolumns plats i tabellen.
Lägg till flera kolumner med kommandot alter table
Syntax att lägga till flera kolumner genom att använda kommandot 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;
Exempel på PostgreSQL ADD COLUMN
För vår bättre förståelse för att lägga till kolumner kommer vi att följa processen nedan:
Först skapar vi en ny tabell med namnet som Personer med två kolumner Person_id och First_name med hjälp av nedanstående kommando:
CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null );
Produktion
Efter att ha utfört ovanstående fråga kommer vi att få meddelandet nedan fönster , som säger att Personer tabellen har skapats:
Efter det kommer vi att lägga till Adress kolumn till Personer tabell med kommandot nedan:s hjälp:
ALTER TABLE Persons ADD COLUMN Address VARCHAR;
Produktion
Efter att ha utfört ovanstående fråga kommer vi att få meddelandefönstret nedan:
Och kommandot nedan hjälper oss att lägga till Stad och telefonnummer kolumner till Personer tabell:
ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR;
Produktion
Efter att ha utfört ovanstående fråga kommer vi att få meddelandefönstret nedan:
Om vi vill se Personer tabellstruktur i psql , kommer vi att använda kommandot nedan:
javatpoint=# d Persons
Utgången av Personer tabellstruktur
typskriptuppsättning
Som vi kan se i bilden ovan har vi adress, stad och telefonnummer kolumner som läggs till i slutet av kolumnlistan i tabellen Personer.
Lägga till en kolumn med NOT NULL-begränsningen
I detta kommer vi att lägga till en kolumn utan noll-begränsningar till en viss tabell som innehåller vissa data.
Först kommer vi att infoga en del data i Personer tabell genom att använda kommandot Insert:
INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike');
Produktion
Vi kan se att de tre raderna har infogats i Personer tabell i meddelandefönstret nedan.
java lägg till sträng
Låt oss nu anta att vi ville lägga till E-post kolumn till Personer tabell, och för detta använder vi följande kommando:
ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL;
Produktion
När vi kör kommandot ovan kommer vi att få ett felmeddelande som säger det
kolumnen 'e-post' innehåller null-värden
Ovanstående fel har uppstått eftersom E-post kolumnen innehåller INTE NULL begränsning.
I PostgreSQL tar den nya kolumnen NULL värde när du lägger till kolumnerna, vilket också stör INTE NULL begränsning.
För att lösa ovanstående fel måste vi följa stegen nedan:
Steg 1
Först måste vi lägga till kolumnen utan INTE NULL begränsning, och för detta kommer vi att använda följande kommando:
ALTER TABLE Persons ADD COLUMN Email VARCHAR;
Produktion
Som vi kan se i meddelandefönstret nedan att E-post kolumn har varit Lagt till in i Personer tabell:
Steg 2
Nu kommer vi att uppdatera värdena för kolumnen E-post.
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;
Produktion
Som vi kan se i meddelandefönstret nedan att E-post kolumnvärden har varit uppdaterad in i Personer tabell:
Om vi vill kontrollera att värdena är uppdaterade eller inte i Personer tabell kommer vi att använda Välj kommando:
Select * From Persons;
Produktion
Utdata från ovanstående fråga är som nedan:
Steg 3
Efter att ha uppdaterat värdet för E-postkolumnen kommer vi att ställa in INTE NULL begränsning för E-post kolumn i Personer tabell genom att använda följande kommando:
k klustringsalgoritm
ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL;
Produktion
Efter att ha utfört kommandot ovan kommer vi att få meddelandefönstret nedan: