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 установлен как первичный ключ таблицы.
Вместо добавления, если мы хотим удалить или отбросить первичный ключ, используется команда ALTER.
ALTER TABLE books DROP PRIMARY KEY;
Итак, это все о том, как мы можем создавать и удалять первичный ключ в таблице.
Чтобы определить первичный ключ, мы можем использовать 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;
Вот как мы можем создавать и удалять внешний ключ в таблице.
Для создания внешнего ключа в существующей таблице с помощью команды ALTER TABLE,
ALTER TABLE books ADD FOREIGN KEY (author_id) REFERENCES authors(author_id);
DESC books;
Мы видим, что author_id успешно установлен в качестве внешнего ключа.
Мы узнали о сути и концепциях первичных и внешних ключей. А также создание, добавление и удаление первичного или внешнего ключа в таблице.
«Первичный ключ с помощью команды ALTER TABLE» — неверно. «Внешний ключ с помощью команды ALTER TABLE» — верно.