ПостгреСКЛ Дроп колона

ПостгреСКЛ Дроп колона

У овом одељку ћемо разговарати о томе како можемо испусти колоне уз помоћ АЛТЕР ТАБЛЕ команда.

ПостгреСКЛ ДРОП ЦОЛУМН команда

Користићемо услов ДРОП ЦОЛУМН у команди АЛТЕР ТАБЛЕ за испуштање колоне табеле:

 ALTER TABLE table_name DROP COLUMN column_name;  

ПостгреСКЛ ће аутоматски избрисати сва своја ограничења и индексе, укључујући колону док брише колону из табеле, а сваки услов испуштене колоне је одвојен знаком зарез (,) .

Не можемо избрисати оне колоне у којима други објекти зависе од њих и који се такође користе у другим објектима базе података као што је окидачи, прикази, ускладиштене процедуре, итд.

Дакле, за уклањање тих колона и свих повезаних објеката, користићемо ЦАСЦАДЕ опција у испусти колона командујте на следећи начин:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE;  

Ако желимо да избришемо непостојећу колону, ПостгреСКЛ ће покренути проблем. Додаћемо услов ИФ ЕКСИСТС у команду за испуштање колоне да бисмо прешли са овом грешком као што можемо видети у доњој команди:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;  

У горњој команди, ако избришемо колону која не постоји, ПостгреСКЛ ће покренути обавештење, а не грешку.

Користићемо наредбу испод ако треба да уклонимо различите колоне табеле у једној команди:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;  

Примери наредбе ПостгреСКЛ ДРОП ЦОЛУМН

Хајде да видимо неке примере да бисмо разумели рад АЛТЕР ТАБЛЕ ДРОП ЦОЛУМН команда.

Дакле, направићемо три различите табеле, као нпр Производ, категорије и бренд .

ПостгреСКЛ Дроп колона

У горњем дијаграму, сваки Производ садржи само једну Марка , а сваки бренд може имати неколико производа. Сваки производ је додељен а категорија , а свака категорија може имати различите производе.

Следеће команде се користе за креирање три табеле (Категорије, производ и бренд) :

Креирање Категорије табела уз помоћ доње команде:

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

Излаз

Након извршења горње команде, добићемо поруку испод; тхе Категорије табела је направљена.

ПостгреСКЛ Дроп колона

Креирање Производ табела користећи следећу изјаву:

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

Излаз

Након извршења горње команде, добићемо поруку испод; тхе Производ табела је направљена.

ПостгреСКЛ Дроп колона

Креирање Марка табела користећи следећу команду:

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

Излаз

Након извршења горње команде, добићемо поруку испод; тхе Марка табела је направљена.

ПостгреСКЛ Дроп колона

Осим тога, креирамо поглед на основу Производ и Марка табеле како следи:

 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;  

Излаз

Након извршења горње команде, добићемо поруку испод; тхе Продуцт_инфо поглед је креиран.

ПостгреСКЛ Дроп колона

Користићемо следећу команду ако желимо да избришемо цате_ид колона од Производ сто:

 ALTER TABLE Product DROP COLUMN cate_id;  

Излаз

Након извршења горње команде, добићемо поруку испод; тхе цате_ид колона пала са Производ сто.

ПостгреСКЛ Дроп колона

Ако желимо да видимо табелу у пскл-у, користићемо наредбу испод

 Javatpoint=# d Product;  

ПостгреСКЛ Дроп колона

Као што видимо на горњој слици екрана, горња команда брише колона Цате_ид и укључује Цате_ид колону у ограничење страног кључа.

Сада ћемо покушати да одбацимо Бранд_ид колона из Производ сто.

 ALTER TABLE Product DROP COLUMN Brand_id;  

Када извршимо горњу команду, ПостгреСКЛ ће покренути следећу грешку:

ПостгреСКЛ Дроп колона

У њему је наведено да је продуцт_инфо приказ користи колону Бранд_ид од Производ сто.

Дакле, користићемо каскада опција за брисање оба Бранд_ид колона и Продуцт_инфо погледајте уз помоћ доње команде:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE;  

Када имплементирамо горњу команду, она ће подићи доњу објава и испустите одређену колону.

ПостгреСКЛ Дроп колона

Овде ћемо одбацити оба листа_цена и година_модела колоне у једној команди, а ми треба да користимо вишеструки ДРОП ЦОЛУМН услови као што смо урадили у наставку:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;  

Излаз

Након извршења горње команде, добићемо прозор са поруком у наставку: Тхе Колоне цена_листова и година_модела су избачени из Производ сто.

ПостгреСКЛ Дроп колона

Ако желимо да видимо да горе наведене операције раде добро или не, користићемо Изаберите команда:

 Select * from Product ;  

Излаз

Након извршења горње команде, добићемо доњи излаз:

ПостгреСКЛ Дроп колона