logo

PostgreSQL Drop stolpec

V tem razdelku bomo razpravljali o tem, kako lahko spustite stolpce s pomočjo SPREMENI TABELO ukaz.

PostgreSQL ukaz DROP COLUMN

Uporabili bomo pogoj DROP COLUMN v ukazu ALTER TABLE za izpuščanje stolpca tabele:

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL bo med brisanjem stolpca iz tabele samodejno izbrisal vse svoje omejitve in indekse, vključno s stolpcem, vsak pogoj za izpust stolpca pa je ločen z vejica (,) .

Ne moremo izbrisati tistih stolpcev, kjer so drugi objekti odvisni od njih in se uporabljajo tudi v drugih objektih baze podatkov, kot je sprožilci, pogledi, shranjene procedure, itd.

Torej, za odstranitev teh stolpcev in vseh povezanih objektov bomo uporabili KASKADA možnost v spustite stolpec ukaz kot sledi:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Če želimo izbrisati neobstoječi stolpec, bo PostgreSQL sprožil težavo. Dodali bomo pogoj IF EXISTS v ukaz drop column, da bi odpravili to napako, kot lahko vidimo v spodnjem ukazu:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

Če v zgornjem ukazu izbrišemo stolpec, ki ne obstaja, bo PostgreSQL prikazal obvestilo in ne napako.

Spodnji ukaz bomo uporabili, če bomo morali odstraniti različne stolpce tabele v enem ukazu:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

Primeri ukaza PostgreSQL DROP COLUMN

Oglejmo si nekaj primerov za razumevanje delovanja SPREMENI STOLPEC TABELE ukaz.

nizovne metode java

Ustvarili bomo torej tri različne tabele, kot npr Izdelek, kategorije in blagovna znamka .

PostgreSQL Drop stolpec

V zgornjem diagramu vsak Izdelek vsebuje samo eno znamka , vsaka znamka pa ima lahko več izdelkov. Vsak izdelek je dodeljen a kategorijo , vsaka kategorija pa ima lahko različne izdelke.

Naslednji ukazi se uporabljajo za ustvarjanje treh tabel (Kategorije, izdelek in blagovna znamka) :

Ustvarjanje kategorije tabelo s pomočjo spodnjega ukaza:

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

Izhod

Po izvedbi zgornjega ukaza bomo prejeli spodnje sporočilo; the kategorije tabela je ustvarjena.

PostgreSQL Drop stolpec

Ustvarjanje Izdelek tabelo z naslednjim stavkom:

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

Izhod

Po izvedbi zgornjega ukaza bomo prejeli spodnje sporočilo; the Izdelek tabela je ustvarjena.

PostgreSQL Drop stolpec

Ustvarjanje Znamka tabelo z naslednjim ukazom:

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

Izhod

Po izvedbi zgornjega ukaza bomo prejeli spodnje sporočilo; the Znamka tabela je ustvarjena.

string.compareto c#
PostgreSQL Drop stolpec

Poleg tega ustvarimo pogled na podlagi Izdelek in Znamka tabele, kot sledi:

 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; 

Izhod

Po izvedbi zgornjega ukaza bomo prejeli spodnje sporočilo; the Product_info pogled je bil ustvarjen.

PostgreSQL Drop stolpec

Uporabili bomo naslednji ukaz, če želimo izbrisati cate_id stolpec od Izdelek tabela:

 ALTER TABLE Product DROP COLUMN cate_id; 

Izhod

Po izvedbi zgornjega ukaza bomo prejeli spodnje sporočilo; the cate_id stolpec padel iz Izdelek tabela.

PostgreSQL Drop stolpec

Če želimo videti tabelo v psql, bomo uporabili spodnji ukaz

 Javatpoint=# d Product; 

PostgreSQL Drop stolpec

Kot lahko vidimo na zgornjem posnetku zaslona, ​​zgornji ukaz izbriše Stolpec Cate_id in vključuje Cate_id v omejitev tujega ključa.

Zdaj bomo poskušali opustiti Brand_id stolpec iz Izdelek tabela.

 ALTER TABLE Product DROP COLUMN Brand_id; 

Ko izvedemo zgornji ukaz, bo PostgreSQL prikazal spodnjo napako:

PostgreSQL Drop stolpec

Navedlo je, da je product_info pogled uporablja stolpec Brand_id od Izdelek tabela.

stikalo za tipkopis

Uporabili bomo torej kaskada možnost izbrisa obeh Brand_id stolpec in Product_info ogled s pomočjo spodnjega ukaza:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

Ko izvedemo zgornji ukaz, bo dvignil spodnji opaziti in spustite določen stolpec.

PostgreSQL Drop stolpec

Tukaj bomo spustili oba maloprodajna_cena in Model_year stolpcev v enem samem ukazu in moramo uporabiti večkratni DROP COLUMN pogoje, kot smo naredili spodaj:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Izhod

Po izvedbi zgornjega ukaza bomo dobili spodnje okno s sporočilom: The Stolpca List_price in Model_year so bili izpuščeni iz Izdelek tabela.

PostgreSQL Drop stolpec

Če želimo videti, ali zgornje operacije delujejo dobro ali ne, bomo uporabili Izberite ukaz:

 Select * from Product ; 

Izhod

Po izvedbi zgornjega ukaza bomo dobili spodnji rezultat:

PostgreSQL Drop stolpec