Поиск по сайту:
Всё в руках человека! Поэтому их нужно мыть чаще (Ежи Лец).

Первичные и внешние ключи MySQL

31.12.2020
Новые функции регулярных выражений в MySQL 8.0

MySQL — это СУБД (система управления реляционными базами данных), которая принадлежит корпорации Oracle и унаследована от стандартного SQL. Это позволяет получить доступ и управлять базами данных. Тот, кто знает слово «База данных», должен знать первичный и внешний ключи. Не существует концепции реляционной базы данных без существования и идеи концепций первичных и внешних ключей. Итак, в этой статье мы узнаем о важности и правильном использовании первичных и внешних ключей в MySQL.

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

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

Давайте посмотрим на синтаксис и различные примеры для создания первичных и внешних ключей в MySQL.

 

Основные ключи

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

 

Первичный ключ при создании таблицы

Предположим, мы хотим создать таблицу books в MySQL, которая содержит идентификатор, имя и категорию книги, в которой столбец идентификатора будет первичным ключом.

Запрос на создание такой таблицы и создание столбца идентификатора столбца первичного ключа будет таким:

CREATE TABLE books (
book_id INT NOT NULL,
book_name VARCHAR(255) NOT NULL,
book_category VARCHAR(255),
PRIMARY KEY (book_id)
);

 

В этом синтаксисе мы можем определить ограничения в конце запроса.

DESC books;

 

В столбце ключа мы видим, что book_id установлен как первичный ключ таблицы.

Читать  Функциональные индексы MySQL

 

Отбросить первичный ключ

Вместо добавления, если мы хотим удалить или отбросить первичный ключ, используется команда ALTER.

ALTER TABLE books
DROP PRIMARY KEY;

 

Итак, это все о том, как мы можем создавать и удалять первичный ключ в таблице.

 

Создание первичного ключа с помощью ALTER TABLE

Чтобы определить первичный ключ, мы можем использовать ALTER TABLE.

ALTER TABLE books
ADD PRIMARY KEY (book_id);

 

Первичный ключ успешно добавлен. Теперь давайте лучше узнаем о внешних ключах.

 

Внешние ключи

Как и первичные ключи, внешние ключи могут быть определены при определении таблицы с помощью команды ALTER TABLE.

 

Внешний ключ при создании таблицы

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

DESC authors;

 

И мы хотим создать внешний ключ к идентификатору автора в таблице книг. Итак, чтобы создать внешний ключ для author_id при создании таблицы книг, мы запускаем этот запрос:

CREATE TABLE books (
book_id INT NOT NULL,
book_name VARCHAR(255) NOT NULL,
book_category VARCHAR(255),
author_id INT,
PRIMARY KEY (book_id),
FOREIGN KEY (author_id) REFERENCES authors(author_id)
);

Отбросьте внешний ключ

Удаление внешнего ключа — это не то же самое, что удаление первичного ключа. Сначала мы должны получить имя ограничений, выполнив команду «SHOW CREATE TABLE books».

SHOW CREATE TABLE books;

 

Затем укажите имя ограничения для команды ALTER TABLE следующим образом:

ALTER TABLE books
DROP FOREIGN KEY books_ibfk_1;

 

Вот как мы можем создавать и удалять внешний ключ в таблице.

Читать  Оптимизация и восстановление баз данных MySQL с помощью mysqlcheck

 

Первичный ключ с помощью команды ALTER TABLE

Для создания внешнего ключа в существующей таблице с помощью команды ALTER TABLE,

ALTER TABLE books
ADD FOREIGN KEY (author_id) REFERENCES authors(author_id);

 

DESC books;

 

Мы видим, что author_id успешно установлен в качестве внешнего ключа.

 

Резюме

Мы узнали о сути и концепциях первичных и внешних ключей. А также создание, добавление и удаление первичного или внешнего ключа в таблице.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Виктор

«Первичный ключ с помощью команды ALTER TABLE» — неверно. «Внешний ключ с помощью команды ALTER TABLE» — верно.

Это может быть вам интересно


Рекомендуемое
Возможно, вы слышали или даже встречали дистрибутив Linux, использующий Wayland,…

Спасибо!

Теперь редакторы в курсе.