SQL, уникальный и первичный ключи

Как создать уникальные и первичные ключи в базе данных SQL

С таблицей, созданной с помощью этой команды:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL
);

Мы можем вставить элемент более одного раза.

В частности, у нас могут быть столбцы, повторяющие одно и то же значение.

Мы можем заставить столбец иметь только уникальные значения, используяUNIQUEключевое ограничение:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL UNIQUE
);

Теперь, если вы попытаетесь добавить «Флавио» дважды:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');

Вы получите сообщение об ошибке:

ERROR:  duplicate key value violates unique constraint "people_name_key"
DETAIL:  Key (name)=(Flavio) already exists.

A primary key is a unique key that has another property: it’s the primary way we identify a row in the table.

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

The primary key can be an email in a list of users, for example.

The primary key can be a unique id that we assign to each record automatically.

Whatever that value is, we know we can use it to reference a row in the table.


More database tutorials: