logo

PostgreSQL Drop kolonna

Šajā sadaļā mēs apspriedīsim, kā mēs varam nometiet kolonnas ar palīdzību MAINĪT TABLU komandu.

PostgreSQL DROP COLUMN komanda

Mēs izmantosim nosacījumu DROP COLUMN komandā ALTER TABLE, lai nomestu tabulas kolonnu:

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL automātiski izdzēsīs visus savus ierobežojumus un indeksus, tostarp kolonnu, vienlaikus dzēšot kolonnu no tabulas, un katrs nolaižamās kolonnas nosacījums tiek atdalīts ar komats (,) .

Mēs nevaram izdzēst tās kolonnas, kur citi objekti ir atkarīgi no tiem un tiek izmantoti arī citos datu bāzes objektos, piemēram trigeri, skati, saglabātās procedūras, utt.

tīkls un tīklu veidi

Tātad, lai noņemtu šīs kolonnas un visus ar to saistītos objektus, mēs izmantosim KASKĀDE opcija sadaļā pilienu kolonna komandu šādi:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Ja vēlamies dzēst neesošu kolonnu, PostgreSQL radīs problēmu. Mēs pievienosim nosacījumu JA EXISTS nolaižamās kolonnas komandā, lai pārvarētu šo kļūdu, kā redzams tālāk esošajā komandā:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

Iepriekš minētajā komandā, ja mēs izdzēšam kolonnu, kas neeksistē, PostgreSQL parādīs paziņojumu, nevis kļūdu.

Mēs izmantosim tālāk norādīto komandu, ja mums vajadzēs noņemt dažādas tabulas kolonnas vienā komandā:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

PostgreSQL DROP COLUMN komandas piemēri

Apskatīsim dažus piemērus, lai saprastu, kā darbojas MAINĪT TABULA KRIENU SLEJU komandu.

Tātad, mēs izveidosim trīs dažādas tabulas, piemēram, Produkts, kategorijas un zīmols .

PostgreSQL Drop kolonna

Iepriekš redzamajā diagrammā katrs Produkts satur tikai vienu Zīmols , un katram zīmolam var būt vairāki produkti. Katrs produkts ir piešķirts a kategorijā , un katrā kategorijā var būt dažādi produkti.

Lai izveidotu trīs tabulas, tiek izmantotas šādas komandas (Kategorijas, produkts un zīmols) :

Izveidojot Kategorijas tabula ar tālāk norādītās komandas palīdzību:

nfa konvertēšana uz dfa
 CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL ); 

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim zemāk redzamo ziņojumu; uz Kategorijas tabula ir izveidota.

PostgreSQL Drop kolonna

Izveidojot Produkts tabulu, izmantojot šādu paziņojumu:

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

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim zemāk redzamo ziņojumu; uz Produkts tabula ir izveidota.

PostgreSQL Drop kolonna

Izveidojot Zīmols tabulu, izmantojot šādu komandu:

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

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim zemāk redzamo ziņojumu; uz Zīmols tabula ir izveidota.

kas ir ziemas guļas režīms
PostgreSQL Drop kolonna

Turklāt mēs izveidojam skatu, pamatojoties uz Produkts un Zīmols tabulas šādi:

 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; 

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim zemāk redzamo ziņojumu; uz Product_info skats ir izveidots.

PostgreSQL Drop kolonna

Mēs izmantosim šādu komandu, ja vēlēsimies dzēst cat_id kolonna Produkts tabula:

 ALTER TABLE Product DROP COLUMN cate_id; 

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim zemāk redzamo ziņojumu; uz cat_id kolonna nokrita no Produkts tabula.

PostgreSQL Drop kolonna

Ja mēs vēlamies redzēt tabulu psql, mēs izmantosim tālāk norādīto komandu

 Javatpoint=# d Product; 

PostgreSQL Drop kolonna

Kā redzams iepriekš redzamajā ekrānuzņēmumā, iepriekš minētā komanda dzēš Cate_id kolonna un ietver Kategorijas_id kolonnu ārējās atslēgas ierobežojumā.

Tagad mēs mēģināsim atmest Brand_id kolonna no Produkts tabula.

 ALTER TABLE Product DROP COLUMN Brand_id; 

Kad mēs izpildīsim iepriekš minēto komandu, PostgreSQL parādīs tālāk norādīto kļūdu:

PostgreSQL Drop kolonna

Tajā teikts, ka product_info skats izmanto kolonnu Brand_id no Produkts tabula.

garš līdz stīgai

Tātad, mēs izmantosim kaskāde iespēja dzēst abus Brand_id kolonnu un Product_info skatīt ar tālāk norādītās komandas palīdzību:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

Kad mēs ieviesīsim iepriekš minēto komandu, tā paaugstinās tālāk norādīto paziņojums un nometiet konkrēto kolonnu.

PostgreSQL Drop kolonna

Šeit mēs atmetīsim abus saraksta_cena un modeļa_gads kolonnas vienā komandā, un mums ir jāizmanto vairākas DROP COLUMN nosacījumi, kā mēs to darījām zemāk:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim zemāk redzamo ziņojuma logu: The Kolonnas List_price un Model_year ir izņemti no Produkts tabula.

PostgreSQL Drop kolonna

Ja vēlamies, lai iepriekš minētās darbības darbojas labi vai nē, mēs izmantosim Izvēlieties komanda:

 Select * from Product ; 

Izvade

Pēc iepriekš minētās komandas izpildes mēs saņemsim tālāk norādīto izvadi:

PostgreSQL Drop kolonna