logo

PostgreSQL Släpp kolumn

I det här avsnittet ska vi diskutera hur vi kan släpp kolumnerna med hjälp av ÄNDRA TABELL kommando.

Kommandot PostgreSQL DROP COLUMN

Vi kommer att använda villkoret DROP COLUMN i kommandot ALTER TABLE för att släppa en kolumn i en tabell:

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL kommer automatiskt att ta bort alla dess begränsningar och index, inklusive kolumnen samtidigt som en kolumn tas bort från en tabell, och varje släppkolumnvillkor separeras med en kommatecken (,) .

Vi kan inte ta bort de kolumner där de andra objekten är beroende av dem och även används i andra databasobjekt som utlösare, vyer, lagrade procedurer, etc.

Så för att ta bort dessa kolumner och alla dess anslutna objekt kommer vi att använda KASKAD alternativet i släpp kolumnen kommando enligt följande:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Om vi ​​vill ta bort en icke-existerande kolumn kommer PostgreSQL att ta upp ett problem. Vi kommer att lägga till OM FINNS-villkoret i kommandot släppkolumn för att komma över detta fel som vi kan se i kommandot nedan:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

I kommandot ovan, om vi tar bort en kolumn som inte finns, kommer PostgreSQL att höja ett meddelande snarare än ett fel.

Vi kommer att använda kommandot nedan om vi behöver ta bort de olika kolumnerna i en tabell i ett enda kommando:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

Exempel på kommandot PostgreSQL DROP COLUMN

Låt oss se några exempel för att förstå hur det fungerar ÄNDRA TABELL SLIPP KOLUMN kommando.

Så vi kommer att skapa tre olika tabeller, som t.ex Produkt, kategorier och varumärke .

PostgreSQL Släpp kolumn

I diagrammet ovan, var och en Produkt innehåller endast en varumärke , och varje varumärke kan ha flera produkter. Varje produkt är tilldelad en kategori , och varje kategori kan ha olika produkter.

Följande kommandon används för att skapa de tre tabellerna (Kategorier, produkt och varumärke) :

755 chmod

Skapar Kategorier tabell med hjälp av nedanstående kommando:

 CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL ); 

Produktion

Efter att ha utfört kommandot ovan kommer vi att få meddelandet nedan; de Kategorier tabellen har skapats.

PostgreSQL Släpp kolumn

Skapar Produkt tabell med följande uttalande:

 CREATE TABLE Product ( Pro_id serial PRIMARY KEY, Pro_name VARCHAR NOT NULL, Brand_id INT NOT NULL, Cate_id INT NOT NULL, List_price DECIMAL NOT NULL, Model_year SMALLINT NOT NULL, FOREIGN KEY (Cate_id) REFERENCES Categories (Cate_id), FOREIGN KEY (Brand_id) REFERENCES Brand (Brand_id) ); 

Produktion

Efter att ha utfört kommandot ovan kommer vi att få meddelandet nedan; de Produkt tabellen har skapats.

PostgreSQL Släpp kolumn

Skapar varumärke tabell med följande kommando:

 CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL ); 

Produktion

Efter att ha utfört kommandot ovan kommer vi att få meddelandet nedan; de varumärke tabellen har skapats.

PostgreSQL Släpp kolumn

Dessutom skapar vi en vy baserad på Produkt och varumärke tabeller enligt följande:

 CREATE VIEW Product_info AS SELECT Pro_id, Pro_name, Brand_name FROM Product p INNER JOIN Brand B ON B .Brand_id = p.Brand_id ORDER BY Pro_name; 

Produktion

Efter att ha utfört kommandot ovan kommer vi att få meddelandet nedan; de Produktinformation vy har skapats.

PostgreSQL Släpp kolumn

Vi kommer att använda följande kommando om vi vill ta bort cate_id kolumn av Produkt tabell:

 ALTER TABLE Product DROP COLUMN cate_id; 

Produktion

markdown-bilder

Efter att ha utfört kommandot ovan kommer vi att få meddelandet nedan; de cate_id kolumn tappade från Produkt tabell.

postorder genomgång av binärt träd
PostgreSQL Släpp kolumn

Om vi ​​vill se tabellen i psql använder vi kommandot nedan

 Javatpoint=# d Product; 

PostgreSQL Släpp kolumn

Som vi kan se i skärmdumpen ovan raderar kommandot ovan Cate_id kolumnen och inkluderar Cate_id kolumnen i den främmande nyckelbegränsningen.

Nu ska vi försöka släppa Brand_id kolumn från Produkt tabell.

 ALTER TABLE Product DROP COLUMN Brand_id; 

När vi kör kommandot ovan kommer PostgreSQL att höja felet nedan:

PostgreSQL Släpp kolumn

Den uppgav att produktinformation vyn använder kolumnen Brand_id av Produkt tabell.

Så vi kommer att använda kaskad alternativet att ta bort både Brand_id kolumn och Produktinformation visa med hjälp av kommandot nedan:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

När vi implementerar ovanstående kommando kommer det att höja nedanstående lägga märke till och släpp den specifika kolumnen.

PostgreSQL Släpp kolumn

Här kommer vi att släppa både listpris och modellår kolumner i ett enda kommando, och vi måste använda flera SLÄPP KOLUMN villkor som vi gjorde nedan:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Produktion

Efter att ha utfört kommandot ovan kommer vi att få meddelandefönstret nedan: The Lista_pris och Modell_år kolumner har tappats från Produkt tabell.

PostgreSQL Släpp kolumn

Om vi ​​vill se att ovanstående operationer fungerar bra eller inte, kommer vi att använda Välj kommando:

 Select * from Product ; 

Produktion

Efter att ha utfört kommandot ovan får vi följande utdata:

PostgreSQL Släpp kolumn