В този раздел ще обсъдим как можем пуснете колоните с помощта на АЛТЕР ТАБЛИЦА команда.
Команда 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
Нека видим някои примери, за да разберем работата на ПРОМЯНА НА ПУСКАНЕ НА КОЛОНАТА НА ТАБЛИЦАТА команда.
И така, ще създадем три различни таблици, като напр Продукт, категории и марка .
В горната диаграма всеки Продукт съдържа само един марка , като всяка марка може да има няколко продукта. Всеки продукт е присвоен на a категория , като всяка категория може да има различни продукти.
Следните команди се използват за създаване на трите таблици (Категории, продукт и марка) :
Създаване на Категории таблица с помощта на командата по-долу:
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 );
Изход
След като изпълним горната команда, ще получим съобщението по-долу; на Марка таблицата е създадена.
java, ако е друго
Освен това създаваме изглед въз основа на Продукт и Марка таблици, както следва:
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 изгледът е създаден.
Ще използваме следната команда, ако искаме да изтрием cate_id колона на Продукт маса:
ALTER TABLE Product DROP COLUMN cate_id;
Изход
След като изпълним горната команда, ще получим съобщението по-долу; на cate_id колона отпадна от Продукт маса.
Ако искаме да видим таблицата в psql, ще използваме командата по-долу
Javatpoint=# d Product;
Както можем да видим на екранната снимка по-горе, горната команда изтрива Колона Cate_id и включва Cate_id колона в ограничението за външен ключ.
Сега ще се опитаме да пуснем Brand_id колона от Продукт маса.
ALTER TABLE Product DROP COLUMN Brand_id;
След като изпълним горната команда, PostgreSQL ще изведе следната грешка:
В него се посочва, че информация за продукта изгледът използва колоната Brand_id от Продукт маса.
И така, ще използваме каскада опция за изтриване на двете Brand_id колона и Product_info прегледайте с помощта на командата по-долу:
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
След като внедрим горната команда, тя ще повдигне долната забележете и изпуснете конкретната колона.
Тук ще изпуснем и двете list_price и Model_year колони в една команда и трябва да използваме многократна ПУСКАНЕ КОЛОНА условия, както направихме по-долу:
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
Изход
След като изпълним горната команда, ще получим прозореца със съобщение по-долу: The Колони List_price и Model_year са отпаднали от Продукт маса.
Ако искаме да видим дали горните операции работят добре или не, ще използваме Изберете команда:
Select * from Product ;
Изход
След като изпълним горната команда, ще получим изхода по-долу: