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 .
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.
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.
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.
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.
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
Pokud chceme vidět tabulku v psql, použijeme níže uvedený příkaz
Javatpoint=# d Product;
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:
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.
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.
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: