logo

PostgreSQL ADD-kolonner

I dette afsnit skal vi forstå, hvordan PostgreSQL ADD COLUMN-kommandoen bruges til at tilføje en eller flere kolonner til den aktuelle databasetabel.

PostgreSQL ADD COLUMN kommando

Vi vil bruge ændre tabel tilføj kolonne, kommando til at tilføje den nye kolonne til en eksisterende tabel.

Syntaks

format streng java

Syntaksen for Skift tilføj kolonnekommando er givet nedenfor:

 ALTER TABLE table_name ADD COLUMN new_column_name data_type; 

I ovenstående syntaks har vi følgende parametre:

Parameter Beskrivelse
Skift bord Det er en klausul, som bruges til at ændre definitionen af ​​en tabel.
Tabel_navn Det bruges til at beskrive tabelnavnet, hvor vi skal tilføje en ny kolonne efter ALTER TABLE-sætningen.
New_cloumn _name Det bruges til at angive kolonnenavnet med dets attribut som standardværdi, datatype og så videre, efter ADD COLUMN-betingelsen.

Bemærk: Når vi tilføjer en ny kolonne til tabellen, forbedrer PostgreSQL den i slutningen af ​​tabellen, fordi PostgreSQL ikke har noget andet valg til at definere den nye kolonnes plads i tabellen.

Tilføj flere kolonner ved hjælp af kommandoen alter table

Syntaks at tilføje de flere kolonner ved at bruge kommandoen 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; 

Eksempler på PostgreSQL ADD COLUMN

For at få en bedre forståelse af at tilføje kolonnerne, vil vi følge nedenstående proces:

Først vil vi oprette en ny tabel med navnet som Personer med to søjler Person_id og Fornavn ved hjælp af nedenstående kommando:

 CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null ); 

Produktion

Efter at have udført ovenstående forespørgsel, vil vi få nedenstående meddelelse vindue , som siger, at Personer tabel er oprettet:

PostgreSQL ADD-kolonner

Derefter tilføjer vi Adresse kolonne til Personer tabel med nedenstående kommandos hjælp:

 ALTER TABLE Persons ADD COLUMN Address VARCHAR; 

Produktion

Efter at have udført ovenstående forespørgsel, får vi nedenstående meddelelsesvindue:

PostgreSQL ADD-kolonner

Og kommandoen nedenfor hjælper os med at tilføje By og telefon_nr kolonner til Personer bord:

 ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR; 

Produktion

Efter at have udført ovenstående forespørgsel, får vi nedenstående meddelelsesvindue:

PostgreSQL ADD-kolonner

Hvis vi vil se Personer tabelstruktur i psql , vil vi bruge nedenstående kommando:

 javatpoint=# d Persons 

Udgangen af Personer tabelstruktur

PostgreSQL ADD kolonner

Som vi kan se på billedet ovenfor, har vi adresse, by og telefonnr kolonner tilføjet i slutningen af ​​kolonnelisten i tabellen Personer.

Tilføjelse af en kolonne med NOT NULL-begrænsningen

I dette vil vi tilføje en kolonne med ikke null-begrænsninger til en bestemt tabel, der indeholder nogle data.

For det første vil vi indsætte nogle data i Personer tabel ved at bruge kommandoen Indsæt:

 INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike'); 

Produktion

Vi kan se, at de tre rækker er blevet indsat i Personer tabel i nedenstående meddelelsesvindue.

PostgreSQL ADD-kolonner

Lad os nu antage, at vi ønskede at tilføje E-mail kolonne til Personer tabel, og til dette bruger vi følgende kommando:

 ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL; 

Produktion

Når vi udfører ovenstående kommando, får vi en fejl, som siger det
kolonne 'e-mail' indeholder null-værdier

PostgreSQL ADD-kolonner

Ovenstående fejl er opstået, fordi E-mail kolonnen indeholder IKKE NULL begrænsning.

flette sort java

I PostgreSQL tager den nye kolonne NUL værdi, når du tilføjer kolonnerne, hvilket også forstyrrer IKKE NULL begrænsning.

For at løse ovenstående fejl skal vi følge nedenstående trin:

Trin 1

For det første skal vi tilføje kolonnen uden IKKE NULL begrænsning, og til dette vil vi bruge følgende kommando:

 ALTER TABLE Persons ADD COLUMN Email VARCHAR; 

Produktion

Som vi kan se i nedenstående meddelelsesvindue, at E-mail kolonne har været tilføjet ind i Personer bord:

PostgreSQL ADD-kolonner

Trin 2

Nu vil vi opdatere værdierne for kolonnen E-mail.

 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 nedenstående meddelelsesvindue, at E-mail kolonneværdier har været opdateret ind i Personer bord:

PostgreSQL ADD-kolonner

Hvis vi vil kontrollere, at værdierne er opdateret eller ej i Personer tabel, vil vi bruge Vælg kommando:

 Select * From Persons; 

Produktion

Outputtet af ovenstående forespørgsel er som nedenfor:

PostgreSQL ADD-kolonner

Trin 3

Efter opdatering af E-mail-kolonnens værdi, indstiller vi IKKE NULL begrænsning for E-mail kolonne ind i Personer tabel ved at bruge følgende kommando:

 ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL; 

Produktion

Efter at have udført ovenstående kommando, får vi nedenstående meddelelsesvindue:

PostgreSQL ADD-kolonner