PostgreSQL ALTER Table: ADD Column, Rename Column / Table Приклади

Зміст:

Anonim

Команда ALTER TABLE використовується для зміни структури таблиці PostgreSQL. Це команда, що використовується для зміни стовпців таблиці або назви таблиці.

У цьому підручнику ви дізнаєтесь:

  • Синтаксис
  • Опис
  • Зміна стовпця
    • Додавання нового стовпця
    • Перейменування стовпця таблиці
  • Встановлення значення за замовчуванням для стовпця
  • Додавання обмеження перевірки
  • Перейменування таблиці
  • Використання pgAdmin

Синтаксис

Ось синтаксис команди PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

Параметр table-name - це назва таблиці, яку потрібно змінити.

Параметр дії - це дія, яку потрібно виконати, наприклад, зміна назви стовпця, зміна типу даних стовпця тощо.

Опис

Команда ALTER TABLE змінює визначення існуючої таблиці. Він приймає такі підформи:

  • ДОДАТИ Стовпець : використовується такий синтаксис, як команда CREATE TABLE, щоб додати новий стовпець до таблиці.
  • DROP COLONM : для скидання стовпця таблиці. Також буде скинуто обмеження та індекси, накладені на стовпці.
  • SET / DROP DEFAULT : Використовується для видалення значення за замовчуванням для стовпця. Однак зміна стосуватиметься лише наступних операторів INSERT.
  • SET / DROP NOT NULL : Змінює, чи дозволятиме стовпець нулі чи ні.
  • ВСТАНОВИТИ СТАТИСТИКУ: для встановлення цілі збору статистики для кожного стовпця для операцій ANALYZE.
  • SET STORAGE : для встановлення режиму зберігання стовпця. Це визначатиме, де зберігається стовпець, вбудований чи в додатковій таблиці.
  • ВСТАНОВИТИ БЕЗ OIDS : Використовуйте для видалення старої колонки таблиці.
  • RENAME : для зміни назви таблиці або назви стовпця.
  • ДОДАТИ table_constraint : Використовується для додавання нового обмеження до таблиці. Він використовує той самий синтаксис, що і команда CREATE TABLE.
  • DROP CONSTRAINT : Використовуйте для скидання обмеження таблиці.
  • ВЛАСНИК : для зміни власника таблиці, послідовності, індексу або подання на певного користувача.
  • КЛАСТЕР : для позначення таблиці, яка буде використовуватися для здійснення майбутніх операцій кластера.

Зміна стовпця

Стовпець може бути змінений різними способами. Такі модифікації можна зробити за допомогою команди ALTER TABLE. Давайте обговоримо це:

Додавання нового стовпця

Щоб додати новий стовпець до таблиці PostgreSQL, використовується команда ALTER TABLE із таким синтаксисом:

ALTER TABLE table-nameADD new-column-name column-definition;

Назва таблиці - це назва таблиці, яку потрібно змінити.

Назва нового стовпця - це ім’я нового стовпця, який потрібно додати.

Визначення стовпця - це тип даних нового стовпця.

Див. Таблицю книг, показану нижче:

У таблиці є два стовпці, ідентифікатор та ім’я. Нам потрібно додати новий стовпець до таблиці та дати йому ім’я автор. Просто запустіть таку команду:

ALTER TABLE BookADD author VARCHAR(50);

Після запуску наведеної команди таблиця Book тепер має такий вигляд:

Новий стовпець додано успішно.

Перейменування стовпця таблиці

Ми можемо використовувати команду ALTER TABLE, щоб змінити назву стовпця. У цьому випадку команда використовується з таким синтаксисом:

ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;

Назва таблиці - це назва таблиці, стовпець якої слід перейменувати.

Стара назва - це стара / поточна назва стовпця.

New-name - це нова назва стовпця. Розгляньте таблицю Книга, показану нижче:

Книга:

Нам потрібно ім’я автора стовпця book_author. Ось команда:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Після запуску команди ми можемо переглянути структуру таблиці:

Ім’я стовпця успішно змінено.

Встановлення значення за замовчуванням для стовпця

Ми можемо встановити значення за замовчуванням для стовпця, так що навіть якщо ви не вкажете значення для цього стовпця під час операцій INSERT, буде використано значення за замовчуванням. У цьому випадку команду ALTER TABLE можна використовувати з таким синтаксисом:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

Назва таблиці - це назва таблиці, стовпець якої потрібно змінити.

Ім'я стовпця - це ім'я, для якого слід встановити значення за замовчуванням.

Значення є значенням за замовчуванням для стовпця.

Розглянемо таблицю книг, подану нижче:

Нам потрібно встановити значення за замовчуванням для стовпця book_author. Ми можемо виконати таку команду:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';

Тепер вставимо в таблицю рядок:

INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');

Зверніть увагу, що ми вставили значення лише для двох стовпців, id та name. Однак для стовпця book_author було використано значення за замовчуванням:

Додавання обмеження перевірки

Обмеження перевірки допомагає перевірити записи, які вставляються в таблицю. Ми можемо зробити це, комбінуючи команду ALTER TABLE з інструкцією ADD CHECK. Синтаксис:

ALTER TABLE table-name ADD CHECK expression;

Назва таблиці - це назва таблиці, яку потрібно змінити.

Вираз є обмеженням, яке накладається на стовпець таблиці.

Давайте змінимо стовпець book_author таблиці Book так, щоб він приймав лише значення, Микола та Самуїл:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));

Тепер спробуємо вставити значення, відмінне від Миколая чи Самуїла, у стовпець book_author таблиці Book:

INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

Оператор поверне таку помилку:

Помилка операції вставки, оскільки ми порушили обмеження перевірки.

Перейменування таблиці

Ось синтаксис команди ALTER TABLE для перейменування таблиці:

ALTER TABLE table-nameRENAME TO new-table-name;

Назва таблиці - це поточна назва таблиці.

Ім’я нової таблиці - це нове ім’я, яке присвоюється таблиці.

Наприклад, змінимо назву таблиці Книга на Книги:

ALTER TABLE BookRENAME TO Books;

Використання pgAdmin

Тепер давайте подивимося, як ці дії можна виконувати за допомогою pgAdmin.

Додавання нового стовпця

Щоб зробити те саме через pgAdmin, зробіть це:

Крок 1) Увійдіть до свого облікового запису pgAdmin.

Крок 2)

  1. На панелі навігації ліворуч клацніть Бази даних.
  2. Клацніть Демо.

Крок 3) Введіть запит у редакторі запитів:

ALTER TABLE BookADD author VARCHAR(50);

Крок 4) Натисніть кнопку Виконати.

Крок 5) Щоб перевірити, чи був доданий стовпець, виконайте наступне:

  1. Клацніть Бази даних на лівій навігаційній панелі.
  2. Розгорніть демонстрацію.
  3. Розгорніть схеми.
  4. Розгорнути Загальнодоступне.
  5. Розгорніть таблиці.
  6. Розгорнути книгу.
  7. Розгорніть стовпці.

Стовпець слід було додати, як показано нижче:

Перейменування стовпця таблиці

Щоб зробити те саме через pgAdmin, зробіть це:

Крок 1) Увійдіть до свого облікового запису pgAdmin.

Крок 2)

  1. На панелі навігації ліворуч клацніть Бази даних.
  2. Клацніть Демо.

Крок 3) Введіть запит у редакторі запитів:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Крок 4) Натисніть кнопку Виконати.

Крок 5) Щоб перевірити, чи вдалася зміна, виконайте наступне:

  1. Клацніть Бази даних на лівій навігаційній панелі.
  2. Розгорніть демонстрацію.
  3. Розгорніть схеми.
  4. Розгорнути Загальнодоступне.
  5. Розгорніть таблиці.
  6. Розгорнути книгу.
  7. Розгорніть стовпці.

Тепер стовпці мають бути такими:

Стовпець успішно змінено.

Встановлення значення за замовчуванням для стовпця

Щоб зробити те саме через pgAdmin, зробіть це:

Крок 1) Увійдіть до свого облікового запису pgAdmin.

Крок 2)

  1. На панелі навігації ліворуч клацніть Бази даних.
  2. Клацніть Демо.

Крок 3) Введіть запит у редакторі запитів:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';

Крок 4) Натисніть кнопку Виконати.

Крок 5) Для тестування виконайте таку команду в редакторі запитів:

INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')

Крок 6) Тепер ми можемо запитати таблицю, щоб перевірити, чи було вставлено значення за замовчуванням у стовпець book_author:

Додавання обмеження перевірки

Щоб зробити те саме через pgAdmin, зробіть це:

Крок 1) Увійдіть до свого облікового запису pgAdmin.

Крок 2)

  1. На панелі навігації ліворуч клацніть Бази даних.
  2. Клацніть Демо.

Крок 3) Введіть запит у редакторі запитів:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Крок 4) Натисніть кнопку Виконати.

Крок 5) Щоб перевірити це, виконайте наступне:

  1. Введіть такий запит у редакторі запитів:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Натисніть кнопку Виконати.

    Він поверне наступне:

Перейменування таблиці

Щоб зробити те саме через pgAdmin, зробіть це:

Крок 1) Увійдіть до свого облікового запису pgAdmin.

Крок 2)

  1. На панелі навігації ліворуч клацніть Бази даних.
  2. Клацніть Демо.

Крок 3) Введіть запит у редакторі запитів:

ALTER TABLE BookRENAME TO Books;

Крок 4) Натисніть кнопку Виконати.

Крок 5) Щоб перевірити, чи таблицю було перейменовано, виконайте такі дії:

  1. Клацніть Бази даних на лівій навігаційній панелі.
  2. Розгорніть демонстрацію.
  3. Розгорніть схеми.
  4. Розгорнути Загальнодоступне.
  5. Розгорніть таблиці.

Таблицю успішно перейменовано.

Короткий зміст:

  • Оператор ALTER TABLE використовується для модифікації структури таблиці.
  • Команда ALTER TABLE приймає різні форми залежно від завдання, яке потрібно виконати.
  • Структурою можуть бути стовпці таблиці або сама таблиця.
  • Ми можемо використовувати це твердження для зміни назви таблиці.
  • За допомогою команди ALTER TABLE можна встановити значення стовпця за замовчуванням.
  • Оператор може бути використаний для перевірки значень, які вводяться в стовпець таблиці.

Завантажте базу даних, що використовується у цьому посібнику