Stĺpec PostgreSQL Drop

Stĺpec PostgreSQL Drop

V tejto časti budeme diskutovať o tom, ako môžeme vypustite stĺpce s pomocou ALTER TABLE príkaz.

Príkaz PostgreSQL DROP COLUMN

Na zrušenie stĺpca tabuľky použijeme podmienku DROP COLUMN v príkaze ALTER TABLE:

 ALTER TABLE table_name DROP COLUMN column_name;  

PostgreSQL automaticky odstráni všetky svoje obmedzenia a indexy, vrátane stĺpca pri odstraňovaní stĺpca z tabuľky, a každá podmienka spusteného stĺpca je oddelená znakom čiarka (,) .

Nemôžeme vymazať tie stĺpce, kde na nich závisia ostatné objekty a ktoré sa používajú aj v iných databázových objektoch, napr spúšťače, pohľady, uložené procedúry, atď.

Takže na odstránenie týchto stĺpcov a všetkých ich pripojených objektov použijeme KASCADE možnosť v klesnúť stĺpec príkaz takto:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE;  

Ak chceme odstrániť neexistujúci stĺpec, PostgreSQL vyvolá problém. Do príkazu drop column pridáme podmienku IF EXISTS, aby sme túto chybu prekonali, ako môžeme vidieť v príkaze nižšie:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;  

Ak vo vyššie uvedenom príkaze odstránime stĺpec, ktorý neexistuje, PostgreSQL zobrazí skôr upozornenie ako chybu.

Nasledujúci príkaz použijeme, ak potrebujeme odstrániť rôzne stĺpce tabuľky v jednom príkaze:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;  

Príklady príkazu PostgreSQL DROP COLUMN

Pozrime sa na niekoľko príkladov, aby sme pochopili fungovanie ALTER TABLE DOP STĹPEC príkaz.

Vytvoríme si teda tri rôzne tabuľky, ako napr Produkt, kategórie a značka .

Stĺpec PostgreSQL Drop

Vo vyššie uvedenom diagrame každý Produkt obsahuje iba jeden značka a každá značka môže mať niekoľko produktov. Každý produkt je priradený k a kategórii a každá kategória môže mať rôzne produkty.

Na vytvorenie troch tabuliek sa používajú nasledujúce príkazy (Kategórie, Produkt a Značka) :

Vytvorenie Kategórie tabuľky pomocou nižšie uvedeného príkazu:

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

Výkon

Po vykonaní vyššie uvedeného príkazu dostaneme nižšie uvedenú správu; na Kategórie tabuľka bola vytvorená.

Stĺpec PostgreSQL Drop

Vytvorenie Produkt tabuľky pomocou nasledujúceho vyhlásenia:

 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ýkon

Po vykonaní vyššie uvedeného príkazu dostaneme nižšie uvedenú správu; na Produkt tabuľka bola vytvorená.

Stĺpec PostgreSQL Drop

Vytvorenie Značka tabuľky pomocou nasledujúceho príkazu:

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

Výkon

Po vykonaní vyššie uvedeného príkazu dostaneme nižšie uvedenú správu; na Značka tabuľka bola vytvorená.

Stĺpec PostgreSQL Drop

Okrem toho vytvárame pohľad na základe Produkt a Značka tabuľky 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ýkon

Po vykonaní vyššie uvedeného príkazu dostaneme nižšie uvedenú správu; na Informácie o produkte pohľad bol vytvorený.

Stĺpec PostgreSQL Drop

Ak chceme odstrániť súbor, použijeme nasledujúci príkaz cat_id stĺpec Produkt tabuľka:

 ALTER TABLE Product DROP COLUMN cate_id;  

Výkon

Po vykonaní vyššie uvedeného príkazu dostaneme nižšie uvedenú správu; na cat_id stĺpec vypadol z Produkt tabuľky.

Stĺpec PostgreSQL Drop

Ak chceme tabuľku vidieť v psql, použijeme nižšie uvedený príkaz

 Javatpoint=# d Product;  

Stĺpec PostgreSQL Drop

Ako môžeme vidieť na obrázku vyššie, vyššie uvedený príkaz odstráni súbor stĺpec Cate_id a zahŕňa Cate_id do obmedzenia cudzieho kľúča.

Teraz sa pokúsime zahodiť Brand_id stĺpec z Produkt tabuľky.

 ALTER TABLE Product DROP COLUMN Brand_id;  

Po vykonaní vyššie uvedeného príkazu PostgreSQL vyvolá nasledujúcu chybu:

Stĺpec PostgreSQL Drop

Uvádzalo sa v ňom, že info o produkte zobrazenie používa stĺpec Brand_id z Produkt tabuľky.

Takže použijeme kaskáda možnosť vymazať oboje Brand_id stĺpec a Informácie o produkte zobraziť pomocou nižšie uvedeného príkazu:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE;  

Akonáhle implementujeme vyššie uvedený príkaz, vyvolá to nižšie upozorniť a vypustite konkrétny stĺpec.

Stĺpec PostgreSQL Drop

Tu zahodíme oboje katalógová_cena a Model_rok stĺpce v jednom príkaze a musíme použiť viacnásobný DROP STĹPEC podmienky, ako sme urobili nižšie:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;  

Výkon

Po vykonaní vyššie uvedeného príkazu dostaneme nižšie uvedené okno so správou: The Stĺpce List_price a Model_year boli vypustené z Produkt tabuľky.

Stĺpec PostgreSQL Drop

Ak chceme vidieť, či vyššie uvedené operácie fungujú dobre alebo nie, použijeme Vyberte príkaz:

 Select * from Product ;  

Výkon

Po vykonaní vyššie uvedeného príkazu dostaneme nasledujúci výstup:

Stĺpec PostgreSQL Drop