Первичный ключ PRIMARY KEY - что это такое и зачем он нужен в таблице

Forums:

Первичный ключ PRIMARY KEY - что это такое и зачем он нужен в таблице.
К списку назад.

fgh's picture

Определение (Бен Форта, "SQL, 10 минут на урок", страница 24):

Первичный ключ - cтолбец или набор столбцов, значения которого уникально идентифицируют каждую строку таблицы

Для чего нужен:
Для определения конкретной строки. При этом первичные ключи необязательны.

Каждый столбец таблицы может быть первичным ключом, если выполняются следующие условия:
-если он не дублирует значение из другой строки;
-если значение не null;
-первичный ключ нельзя использовать повторно для другой строки ( то есть после удаления строки с данным первыичным ключом значения этого ключа нельзя назначать другой строке).

Пример:

CREATE TABLE CUSTOMERS(
  ID   INT              NOT NULL,
  NAME VARCHAR (20)     NOT NULL,
  AGE  INT              NOT NULL,
  ADDRESS  CHAR (25) ,
  SALARY   DECIMAL (18, 2),        
  PRIMARY KEY (ID, NAME)
);
insert into CUSTOMERS(ID, NAME, AGE, ADDRESS,SALARY) values(
1, "Mike",25,"Yellow street",20000);
insert into CUSTOMERS(ID, NAME, AGE, ADDRESS,SALARY) values(
2, "Jhon",26,"Green street",15000);
select * from CUSTOMERS;
select * from CUSTOMERS WHERE ID =2;

Здесь первичные ключи - это ID и NAME.

Для запуска кода онлайн: https://paiza.io/en/languages/mysql

Источники:
1) http://fkn.ktu10.com/?q=node/9187
2) https://webformyself.com/sql-sozdanie-pe...