В этом учебном пособии вы узнаете, как создавать и удалять Primary Keys
(первичный ключ) в MySQL с синтаксисом и примерами.
Описание
В MySQL Primary Keys представляет собой одно поле или комбинацию полей, которые определяют уникальную запись. Поля, которые являются частью первичного ключа, не могут содержать значение NULL. В таблице может быть только один первичный ключ.
Примечание
- В MySQL первичный ключ создается с помощью оператора CREATE TABLE или оператора ALTER TABLE.
- Вы используете оператор ALTER TABLE в MySQL для удаления, отключения или включения первичного ключа.
Создание первичного ключа с использованием оператора CREATE TABLE
Вы можете создать первичный ключ в MySQL с помощью оператора CREATE TABLE.
Синтаксис
Синтаксис создания первичного ключа с использованием оператора CREATE TABLE в MySQL:
(
column1 column_definition,
column2 column_definition,
...
CONSTRAINT [constraint_name]
PRIMARY KEY [ USING BTREE | HASH ] (column_1, column_2, ... column_n)
);
Параметры или аргументы
table_name - имя таблицы, которую вы хотите создать.
column1, column2 - столбцы, которые вы хотите создать в таблице. См. MySQL оператор CREATE TABLE для более подробного синтаксиса CREATE TABLE, поскольку это чрезмерное упрощение, чтобы продемонстрировать, как создать PRIMARY KEY.
constraint_name - имя первичного ключа.
column_1, column_2, ... column_n - колонки, составляющие первичный ключ.
Пример
Рассмотрим пример создания первичного ключа с помощью оператора CREATE TABLE в MySQL.
1 2 3 4 5 6 7 |
CREATE TABLE contacts ( contact_id INT(11) NOT NULL AUTO_INCREMENT, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, CONSTRAINT contacts_pk PRIMARY KEY (contact_id) ); |
В этом примере мы создали первичный ключ в таблице contacts, называемой contact_pk. Он состоит только из одного столбца - contact_id.
Мы могли бы также создать первичный ключ с несколькими полями, как в приведенном ниже примере:
1 2 3 4 5 6 |
CREATE TABLE contacts ( last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25) NOT NULL, birthday DATE, CONSTRAINT contacts_pk PRIMARY KEY (last_name, first_name) ); |
В этом примере создается первичный ключ с именем contacts_pk, состоящий из комбинации столбцов last_name и first_name. Поэтому каждая комбинация last_name и first_name должна быть уникальной в таблице contacts.
Создать первичный ключ - с помощью оператора ALTER TABLE
Вы можете создать первичный ключ в MySQL с помощью оператора ALTER TABLE.
Синтаксис
Синтаксис создания первичного ключа с использованием оператора ALTER TABLE в MySQL:
ADD CONSTRAINT [ constraint_name ]
PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n);
Параметры или аргументы
table_name - имя таблицы для изменения.
constraint_name - имя первичного ключа.
column1, column2, ... column_n - колонки, составляющие первичный ключ.
Пример
Рассмотрим пример создания первичного ключа с использованием оператора ALTER TABLE в MySQL.
1 2 3 |
ALTER TABLE contacts ADD CONSTRAINT contacts_pk PRIMARY KEY (contact_id); |
В этом примере мы создали первичный ключ в существующей таблице contacts, называемой contact_pk. Он состоит из столбца contact_id.
Мы могли бы также создать первичный ключ с несколькими полями, как в приведенном ниже примере:
1 2 3 |
ALTER TABLE contacts ADD CONSTRAINT contacts_pk PRIMARY KEY (last_name, first_name); |
В этом примере мы создали первичный ключ, называемый contacts_pk, который состоит из комбинации столбцов last_name и first_name.
Удалить первичный ключ
Вы можете удалить первичный ключ в MySQL с помощью оператора ALTER TABLE.
Синтаксис
Синтаксис для удаления первичного ключа в MySQL:
DROP PRIMARY KEY;
table_name - имя таблицы для изменения.
Пример
Рассмотрим пример того, как удалить первичный ключ с помощью оператора ALTER TABLE в MySQL.
1 2 |
ALTER TABLE contacts DROP PRIMARY KEY; |
В этом примере мы удалили первичный ключ в таблице contacts. Нам не нужно указывать имя первичного ключа, поскольку в таблице он может быть только один.