кодесурса
«MySQL

PostgreSQL ALTER TABLE

script1adsense2code
script1adsense3code

ALTER TABLE

Оператор PostgreSQL ALTER TABLE используется для изменения определения или структуры существующей таблицы. Действие, которое должно быть выполнено этим утверждением, следующее:

  • Столбцы могут быть добавлены.
  • Ограничения могут быть добавлены.
  • Столбцы могут быть удалены. Если индексы и любые ограничения таблиц, связанные с включенным столбцом, будут автоматически удалены. Если на таблицу ссылается другая таблица, можно использовать CASCADE.
  • Тип данных столбца (столбцов) может быть изменен, и соответствующие индексы и ограничения будут автоматически преобразованы в новый тип столбца.
  • Значение по умолчанию для столбца можно удалить.

использование

Код:

ALTER TABLE table_name
[action ...]

Где действие:

ДОБАВИТЬ [КОЛОННА]

DROP [КОЛОННА]

ALTER [КОЛОННА] [SET | DROP] DEFAULT

ALTER [КОЛОННА] [SET | DORP] НЕ NULL

ДОБАВИТЬ ОГРАНИЧЕНИЕ

PostgreSQL ALTER TABLE пример

Давайте рассмотрим таблицы заказов.

SQL

Код:

CREATE TABLE orders(
ord_no integer PRIMARY KEY,
ord_date date NOT NULL,
cus_name character(25) NOT NULL,
item_code integer NOT NULL,
item_grade character(1)NOT NULL DEFAULT 'A',
vendor_code numeric NOT NULL,
city character(15),
ord_qty numeric DEFAULT 1 CHECK(ord_qty>0 AND ord_qty<50),
ord_amount numeric,
advance_amount numeric DEFAULT 2000,
date_to_disb date NOT NULL CHECK(date_to_disb>ord_date)
);

Структура таблицы

«PostgreSQL

Словарь данных

«PostgreSQL

Добавить столбец

Если мы хотим добавить столбец с именем vendor_name типа varchar в таблицу заказов, можно использовать следующий SQL -

ALTER TABLE orders ADD COLUMN 
vendor_name varchar(25);

Оставить столбец

Если мы хотим удалить столбец vendor_name из таблицы заказов, можно использовать следующий SQL -

ALTER TABLE orders DROP COLUMN 
vendor_name;

Изменить тип столбца

Если мы хотим изменить тип столбца cus_name и city с символьного на varchar в таблице заказов, можно использовать следующий SQL -

ALTER TABLE orders 
ALTER COLUMN cus_name TYPE varchar(25),
ALTER COLUMN city TYPE varchar(25);

Переименовать столбец

Если мы хотим изменить имя столбца city на vendor_city в таблице заказов, можно использовать следующий SQL -


ALTER TABLE orders 
RENAME COLUMN city TO vendor_city;

Переименовать таблицу

Если мы хотим изменить имя существующей таблицы, можно использовать следующий SQL -

ALTER TABLE orders RENAME TO neworders;

Добавить ограничение NOT NULL

Если мы хотим добавить ограничение NOT NULL в столбец city в таблице заказов, можно использовать следующий SQL -

ALTER TABLE orders ALTER COLUMN city SET NOT NULL;

Удалить ограничение NOT NULL

Если мы хотим удалить ограничение NOT NULL из столбца city в таблице заказов, можно использовать следующий SQL -

ALTER TABLE orders ALTER COLUMN city DROP NOT NULL;

Добавить ограничение CHECK

Если мы хотим добавить проверочное ограничение в таблицу заказов и все ее потомки, можно использовать следующий SQL:

ALTER TABLE orders ADD CONSTRAINT chkamount CHECK (ord_amount>=10000);

Удалить ограничение CHECK

Если мы хотим удалить проверочное ограничение chkamount из таблицы заказов и все его дочерние элементы, можно использовать следующий SQL -

ALTER TABLE orders DROP CONSTRAINT chkamount;

Удалить ограничение CHECK только из родительской таблицы

Если мы хотим удалить проверочное ограничение chkamount из таблицы заказов и все его дочерние элементы, можно использовать следующий SQL -

ALTER TABLE ONLY orders DROP CONSTRAINT chkamount;

Добавить УНИКАЛЬНОЕ ограничение

Если мы хотим добавить уникальное ограничение item_vendor_ukey в таблицу заказов, можно использовать следующий SQL -

ALTER TABLE orders 
ADD CONSTRAINT item_vendor_ukey 
UNIQUE (item_code,vendor_code);

Удалить УНИКАЛЬНОЕ ограничение

Если мы хотим удалить уникальное ограничение из таблицы заказов, можно использовать следующий SQL -

ALTER TABLE orders 
DROP CONSTRAINT item_vendor_ukey;

Добавьте ограничение PRIMARY KEY

Если мы хотим добавить ограничение первичного ключа в таблицу заказов, можно использовать следующий SQL. Для таблицы разрешен только один первичный ключ. Итак, мы должны предположить, что у нас нет предварительно определенного первичного ключа в таблице, которую мы собираемся использовать.

ALTER TABLE orders ADD PRIMARY KEY (ord_no);

Добавить ограничение FOREIGN KEY

Если мы хотим добавить ограничение внешнего ключа в таблицу заказов, можно использовать следующий SQL. Предположим , что у нас есть таблица поставщиков и содержит столбец vendor_code с таким же типом данных, что и в таблице заказов.

ALTER TABLE orders 
ADD CONSTRAINT vend_code_fkey 
FOREIGN KEY (vendor_code) REFERENCES vendors;

Предыдущая: CONSTRAINT
Следующий: ВЫБЕРИТЕ заявление

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code