logo

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 (,) .

java skús chytiť

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.

terminál kali linux

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

panda topiť

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

while a do while v jave

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.

formátovač reťazcov
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