logo

PostgreSQL Drop колона

В този раздел ще обсъдим как можем пуснете колоните с помощта на АЛТЕР ТАБЛИЦА команда.

Команда PostgreSQL DROP COLUMN

Ще използваме условието DROP COLUMN в командата ALTER TABLE за премахване на колона от таблица:

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL автоматично ще изтрие всичките си ограничения и индекси, включително колоната, докато изтрива колона от таблица, и всяко условие за изпускане на колона е разделено с запетая (,) .

Не можем да изтрием тези колони, където другите обекти зависят от тях и също се използват в други обекти на база данни като тригери, изгледи, съхранени процедури, и т.н.

И така, за премахване на тези колони и всички свързани с тях обекти, ще използваме КАСКАДА опция в капка колона команда, както следва:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Ако искаме да изтрием несъществуваща колона, PostgreSQL ще повдигне проблем. Ще добавим условието IF EXISTS в командата за изпускане на колона, за да преодолеем тази грешка, както можем да видим в командата по-долу:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

В горната команда, ако изтрием колона, която не съществува, PostgreSQL ще изведе известие, а не грешка.

Ще използваме командата по-долу, ако трябва да премахнем различните колони на таблица в една команда:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

Примери за команда DROP COLUMN на PostgreSQL

Нека видим някои примери, за да разберем работата на ПРОМЯНА НА ПУСКАНЕ НА КОЛОНАТА НА ТАБЛИЦАТА команда.

И така, ще създадем три различни таблици, като напр Продукт, категории и марка .

PostgreSQL Drop колона

В горната диаграма всеки Продукт съдържа само един марка , като всяка марка може да има няколко продукта. Всеки продукт е присвоен на a категория , като всяка категория може да има различни продукти.

Следните команди се използват за създаване на трите таблици (Категории, продукт и марка) :

Създаване на Категории таблица с помощта на командата по-долу:

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

Изход

След като изпълним горната команда, ще получим съобщението по-долу; на Категории таблицата е създадена.

PostgreSQL Drop колона

Създаване на Продукт таблица, използвайки следния израз:

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

Изход

След като изпълним горната команда, ще получим съобщението по-долу; на Продукт таблицата е създадена.

PostgreSQL Drop колона

Създаване на Марка таблица с помощта на следната команда:

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

Изход

След като изпълним горната команда, ще получим съобщението по-долу; на Марка таблицата е създадена.

java, ако е друго
PostgreSQL Drop колона

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

 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; 

Изход

След като изпълним горната команда, ще получим съобщението по-долу; на Product_info изгледът е създаден.

PostgreSQL Drop колона

Ще използваме следната команда, ако искаме да изтрием cate_id колона на Продукт маса:

 ALTER TABLE Product DROP COLUMN cate_id; 

Изход

След като изпълним горната команда, ще получим съобщението по-долу; на cate_id колона отпадна от Продукт маса.

PostgreSQL Drop колона

Ако искаме да видим таблицата в psql, ще използваме командата по-долу

 Javatpoint=# d Product; 

PostgreSQL Drop колона

Както можем да видим на екранната снимка по-горе, горната команда изтрива Колона Cate_id и включва Cate_id колона в ограничението за външен ключ.

Сега ще се опитаме да пуснем Brand_id колона от Продукт маса.

 ALTER TABLE Product DROP COLUMN Brand_id; 

След като изпълним горната команда, PostgreSQL ще изведе следната грешка:

PostgreSQL Drop колона

В него се посочва, че информация за продукта изгледът използва колоната Brand_id от Продукт маса.

И така, ще използваме каскада опция за изтриване на двете Brand_id колона и Product_info прегледайте с помощта на командата по-долу:

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

След като внедрим горната команда, тя ще повдигне долната забележете и изпуснете конкретната колона.

PostgreSQL Drop колона

Тук ще изпуснем и двете list_price и Model_year колони в една команда и трябва да използваме многократна ПУСКАНЕ КОЛОНА условия, както направихме по-долу:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Изход

След като изпълним горната команда, ще получим прозореца със съобщение по-долу: The Колони List_price и Model_year са отпаднали от Продукт маса.

PostgreSQL Drop колона

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

 Select * from Product ; 

Изход

След като изпълним горната команда, ще получим изхода по-долу:

PostgreSQL Drop колона