В този раздел ще разберем как командата PostgreSQL ADD COLUMN се използва за добавяне на една или повече колони към текущата таблица на базата данни.
Команда PostgreSQL ADD COLUMN
Ние ще използваме промяна на таблица добавяне на колона, команда за добавяне на новата колона към съществуваща таблица.
Синтаксис
Синтаксисът на Промяна на командата за добавяне на колона е дадено по-долу:
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
В горния синтаксис имаме следните параметри:
Параметър | Описание |
---|---|
Промяна на масата | Това е клауза, която се използва за промяна на дефиницията на таблица. |
Име_на_таблица | Използва се за описание на името на таблицата, където трябва да добавим нова колона след клаузата ALTER TABLE. |
Ново_име_на_колона | Използва се за указване на името на колоната с нейния атрибут като стойност по подразбиране, тип данни и т.н., след условието ADD COLUMN. |
Забележка: Когато добавим нова колона към таблицата, PostgreSQL я подобрява в края на таблицата, защото PostgreSQL няма друг избор да определи мястото на новата колона в таблицата.
Добавете няколко колони с помощта на командата alter table
Синтаксис за добавяне на множество колони с помощта на командата alter table:
ALTER TABLE table_name ADD COLUMN new_column_name_1 data_type constraint, ADD COLUMN new_column_name_2 data_type constraint, ::: ::: ADD COLUMN new_column_name_N data_type constraint;
Примери за PostgreSQL ADD COLUMN
За да разберем по-добре добавянето на колоните, ще следваме процеса по-долу:
Първо, ще създадем нова таблица с име as Лица с две колони Person_id и First_name с помощта на командата по-долу:
CREATE TABLE Persons ( Person_ID Serial primary key, Person_Name varchar not Null );
Изход
css удебелен
След като изпълним горната заявка, ще получим съобщението по-долу прозорец , който казва, че Лица таблицата е създадена:
След това ще добавим Адрес колона към Лица таблица с помощта на командата по-долу:
ALTER TABLE Persons ADD COLUMN Address VARCHAR;
Изход
След като изпълним горната заявка, ще получим прозореца със съобщение по-долу:
И командата по-долу ще ни помогне да добавим Град и тел колони към Лица маса:
ALTER TABLE Persons ADD COLUMN City VARCHAR, ADD COLUMN Phone_no VARCHAR;
Изход
След като изпълним горната заявка, ще получим прозореца със съобщение по-долу:
Ако искаме да видим Лица структура на таблицата в psql , ще използваме командата по-долу:
javatpoint=# d Persons
Изходът от Лица структура на масата
Както можем да видим на горното изображение, имаме адреса, града и телефонния номер колони, добавени в края на списъка с колони на таблицата Persons.
Добавяне на колона с ограничението NOT NULL
В това ще добавим колона с ненулеви ограничения към определена таблица, която съдържа някои данни.
Първо, ще вмъкнем някои данни в Лица таблица чрез командата Insert:
INSERT INTO Persons (Person_name) VALUES ('John'), ('Emily'), ('Mike');
Изход
Можем да видим, че трите реда са вмъкнати в Лица таблица в прозореца на съобщението по-долу.
Сега нека приемем, че искаме да добавим електронна поща колона към Лица таблица и за това използваме следната команда:
ALTER TABLE Persons ADD COLUMN Email VARCHAR NOT NULL;
Изход
След като изпълним горната команда, ще получим една грешка, която казва това
колона „имейл“ съдържа нулеви стойности
Горната грешка е възникнала, защото електронна поща колоната съдържа НЕ НУЛЕВ ограничение.
В PostgreSQL новата колона приема НУЛА стойност при добавяне на колоните, което също нарушава НЕ НУЛЕВ ограничение.
За да разрешим горната грешка, трябва да изпълним следните стъпки:
Етап 1
Първо, трябва да добавим колоната без НЕ НУЛЕВ ограничение и за това ще използваме следната команда:
ALTER TABLE Persons ADD COLUMN Email VARCHAR;
Изход
Както можем да видим в прозореца на съобщението по-долу, това електронна поща колона е била добавен в Лица маса:
Стъпка 2
Сега ще актуализираме стойностите за колоната Email.
UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 1; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 2; UPDATE Persons SET Email = '[email protected]' WHERE Person_id = 3;
Изход
Както можем да видим в прозореца на съобщението по-долу, това електронна поща стойностите на колоните са били актуализиран в Лица маса:
Ако искаме да проверим дали стойностите са актуализирани или не в Лица таблица, ще използваме Изберете команда:
Select * From Persons;
Изход
java стойност на низ
Резултатът от горната заявка е следният:
Стъпка 3
След като актуализираме стойността на колоната Email, ще зададем НЕ НУЛЕВ ограничение за електронна поща колона в Лица таблица, като използвате следната команда:
ALTER TABLE Persons ALTER COLUMN Email SET NOT NULL;
Изход
След като изпълним горната команда, ще получим прозореца със съобщение по-долу: