PostgreSQL - первичный ключ

Опубликовано: 30 Марта, 2022

In this article we will look into the PostgreSQLPrimary key constraints using SQL statements. A primary key is a column or a group of columns used to identify a row uniquely in a table. Technically speaking a primary key constraint is the blend of a not-null constraint and a UNIQUE constraint. Only one primary key must exist in a table. PostgreSQL produces a unique B-tree index on the column or a group of columns used that defines the primary key whenever a primary key is added to the table.

Syntax: column_name Data-type PRIMARY KEY

Теперь давайте рассмотрим несколько примеров.
Пример 1:
В этом примере мы создадим таблицу (скажем, книги) и добавим столбец (скажем, book_id) в качестве первичного ключа таблицы.

 СОЗДАТЬ НАСТОЛЬНЫЕ книги (
    book_id ЦЕЛОЙ ПЕРВИЧНЫЙ КЛЮЧ,
    название ТЕКСТ,
    цена INTEGER
);

Теперь давайте вставим некоторые данные в нашу таблицу, используя следующую команду:

 ВСТАВИТЬ книги (book_id, title, price)
ЦЕННОСТИ
    ('101', 'Работа', '2000'),
    ('102', 'Гита', '250'),
    ('103', 'Рамаяна', '354'),
    («104», «Веды», «268»);

Теперь мы проверим, работает ли вставка должным образом, используя следующую команду:

 ВЫБРАТЬ * ИЗ книг;

Выход:

Пример 2:
В этом примере мы добавим ПЕРВИЧНЫЙ ключ в существующую таблицу. Итак, давайте сначала создадим его, используя следующую команду:

 СОЗДАТЬ поставщиков таблиц (имя VARCHAR (255));

Now add few rows to the vendors table using INSERT statement as below:

INSERT INTO vendors (NAME)
VALUES
    ("Microsoft"),
    ("IBM"),
    ("Apple"),
    ("Samsung");

Теперь проверьте операцию вставки, мы запрашиваем данные из таблицы vendors, используя следующую инструкцию SELECT:

 ВЫБРАТЬ
    *
ИЗ
    продавцы;

This will give us the below result:

Now, if we want to add a primary key named id into the vendors table and the id field is auto-incremented by a single unit, we use the below statement:

ALTER TABLE vendors ADD COLUMN ID SERIAL PRIMARY KEY;

Давайте еще раз проверим таблицу поставщиков, используя следующую команду:

 ВЫБРАТЬ
    id, имя
ИЗ
    продавцы;

Выход: