logo

PostgreSQL Drop sloupec

V této části budeme diskutovat o tom, jak můžeme vypustit sloupce s pomocí ALTER TABULKA příkaz.

Příkaz PostgreSQL DROP COLUMN

Pro zrušení sloupce tabulky použijeme podmínku DROP COLUMN v příkazu ALTER TABLE:

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL automaticky smaže všechna svá omezení a indexy, včetně sloupce při odstraňování sloupce z tabulky, a každá podmínka vypuštění sloupce je oddělena čárka (,) .

Nemůžeme odstranit ty sloupce, kde na nich závisí ostatní objekty a které jsou také použity v jiných databázových objektech, jako je spouštěče, pohledy, uložené procedury, atd.

Takže pro odstranění těchto sloupců a všech jejich připojených objektů použijeme KASKÁDA možnost v drop sloupec příkaz takto:

javascript
 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Pokud chceme smazat neexistující sloupec, PostgreSQL vyvolá problém. Do příkazu drop column přidáme podmínku IF EXISTS, abychom tuto chybu překonali, jak můžeme vidět v níže uvedeném příkazu:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

Pokud ve výše uvedeném příkazu odstraníme sloupec, který neexistuje, PostgreSQL vyvolá spíše upozornění než chybu.

Níže uvedený příkaz použijeme, pokud potřebujeme odstranit různé sloupce tabulky v jediném příkazu:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

Příklady příkazu PostgreSQL DROP COLUMN

Podívejme se na několik příkladů, abychom pochopili fungování ALTER TABULKA DOP SLOUPEC příkaz.

Vytvoříme tedy tři různé tabulky, jako např Produkt, kategorie a značka .

PostgreSQL Drop sloupec

Ve výše uvedeném diagramu každý Produkt obsahuje pouze jeden značka a každá značka může mít několik produktů. Každý produkt je přiřazen k a kategorie a každá kategorie může mít různé produkty.

K vytvoření tří tabulek se používají následující příkazy (Kategorie, produkt a značka) :

Vytvoření Kategorie tabulky pomocí níže uvedeného příkazu:

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

Výstup

Po provedení výše uvedeného příkazu dostaneme níže uvedenou zprávu; a Kategorie tabulka byla vytvořena.

PostgreSQL Drop sloupec

Vytvoření Produkt tabulky pomocí následujícího příkazu:

 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) ); 

Výstup

Po provedení výše uvedeného příkazu dostaneme níže uvedenou zprávu; a Produkt tabulka byla vytvořena.

PostgreSQL Drop sloupec

Vytvoření Značka tabulky pomocí následujícího příkazu:

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

Výstup

Po provedení výše uvedeného příkazu dostaneme níže uvedenou zprávu; a Značka tabulka byla vytvořena.

PostgreSQL Drop sloupec

Kromě toho vytváříme pohled založený na Produkt a Značka tabulky takto:

 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; 

Výstup

Po provedení výše uvedeného příkazu dostaneme níže uvedenou zprávu; a Informace o produktu pohled byl vytvořen.

PostgreSQL Drop sloupec

Pokud chceme smazat, použijeme následující příkaz id_kategorie sloupec Produkt stůl:

jak číst soubor csv v jazyce Java
 ALTER TABLE Product DROP COLUMN cate_id; 

Výstup

Po provedení výše uvedeného příkazu dostaneme níže uvedenou zprávu; a id_kategorie sloupec vypadl z Produkt stůl.

iterovat přes mapu java
PostgreSQL Drop sloupec

Pokud chceme vidět tabulku v psql, použijeme níže uvedený příkaz

 Javatpoint=# d Product; 

PostgreSQL Drop sloupec

Jak můžeme vidět na výše uvedeném snímku obrazovky, výše uvedený příkaz odstraní soubor Sloupec id kategorie a zahrnuje Cate_id sloupec do omezení cizího klíče.

Nyní se pokusíme vypustit ID_značky sloupec od Produkt stůl.

 ALTER TABLE Product DROP COLUMN Brand_id; 

Jakmile provedeme výše uvedený příkaz, PostgreSQL vyvolá níže uvedenou chybu:

PostgreSQL Drop sloupec

Uvedlo, že informace o produktu pohled používá sloupec ID_značky z Produkt stůl.

Takže použijeme kaskáda možnost smazat obojí ID_značky sloupec a Informace o produktu zobrazit pomocí níže uvedeného příkazu:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

Jakmile implementujeme výše uvedený příkaz, vyvolá to níže oznámení a vypustit konkrétní sloupec.

PostgreSQL Drop sloupec

Zde zahodíme obojí katalogová_cena a Model_rok sloupce v jediném příkazu a musíme použít více DROP SLOUPEK podmínky, jak jsme to udělali níže:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Výstup

Po provedení výše uvedeného příkazu se zobrazí okno se zprávou níže: The Sloupce List_price a Model_year byly vypuštěny z Produkt stůl.

PostgreSQL Drop sloupec

Pokud chceme vidět, že výše uvedené operace fungují dobře nebo ne, použijeme Vybrat příkaz:

 Select * from Product ; 

Výstup

Po provedení výše uvedeného příkazu získáme níže uvedený výstup:

PostgreSQL Drop sloupec