logo

Як додати зовнішній ключ у SQL

У цій статті ми дізнаємося, як додати зовнішній ключ до стовпця в таблиці нашої бази даних SQL.

The ЗОВНІШНІЙ КЛЮЧ у SQL використовується для об’єднання запису двох таблиць у базі даних. Стовпець, визначений як ЗОВНІШНИЙ КЛЮЧ в одній таблиці, повинен бути ПЕРВИННИМ КЛЮЧОМ в іншій таблиці тієї ж бази даних.

Ми можемо легко додати зовнішній ключ до стовпця наступними двома способами:

  1. Додайте зовнішній ключ за допомогою оператора Create table
  2. Додайте зовнішній ключ за допомогою оператора Alter Table

Якщо ви хочете додати ЗОВНІШНИЙ КЛЮЧ до стовпця в таблиці SQL, ви повинні виконати наведені нижче кроки в наведеній послідовності:

  1. Створіть базу даних у системі.
  2. Створіть дві таблиці в одній базі даних.
  3. Переглянути структуру таблиці перед додаванням зовнішнього ключа.
  4. Додайте зовнішній ключ до таблиці.
  5. Перегляньте структуру таблиці.

Тепер ми пояснимо описані вище дії на прикладі:

Крок 1: Створіть базу даних

У мові структурованих запитів створення бази даних є першим кроком для зберігання структурованих таблиць у базі даних.

Для створення бази даних використовуйте такий синтаксис SQL:

 CREATE DATABASE Database_Name; 

Припустімо, ви хочете створити Транспортні засоби бази даних. Для цього вам потрібно ввести таку команду мовою структурованих запитів:

 CREATE DATABASE Vehicles; 

Крок 2: Створіть дві таблиці в базі даних

Тепер ви повинні використовувати наступний синтаксис SQL для створення таблиць у своїй базі даних:

 CREATE TABLE table_name ( column_Name_1 data type (size of the column_1), column_Name_2 data type (size of the column_2), column_Name_3 data type (size of the column_3), ... column_Name_N data type (size of the column_1) ); 

Наступний SQL-запит створює Автомобілі_Деталі таблиці в Транспортні засоби бази даних.

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT PRIMARY KEY, Model INT, Cars_Name VARCHAR (20), Colour VARCHAR (20), ); 

Створюється наступний запит Автомобілі_Ціна_Деталі таблиці в Транспортні засоби база даних:

 CREATE TABLE Cars_Price_Details ( Model INT NOT NULL PRIMARY KEY, Cars_Price INT NOT NULL ); 

Крок 3: Перегляньте структуру таблиці перед додаванням зовнішнього ключа

Після створення таблиці та вставки даних ви можете переглянути структуру обох таблиць, ввівши такий запит у своїй програмі SQL:

 DESC Cars or DESCRIBE Cars ; 

Поле Тип НУЛЬ ключ За замовчуванням Екстра
Номер_автомобіля ІНТ НІ AT НУЛЬ auto_increment
Модель ІНТ Так - НУЛЬ -
Car_Name Варчар(20) Так - НУЛЬ
Колір Варчар(20) Так - НУЛЬ -

 DESC Cars_Price_Details; 

Поле Тип НУЛЬ ключ За замовчуванням Екстра
Модель_автомобіля ІНТ Немає AT НУЛЬ -
Car_Price ІНТ Немає - НУЛЬ

Крок 4. Додайте зовнішній ключ до стовпця в таблиці

Якщо ви хочете додати зовнішній ключ під час створення таблиці, ви повинні використовувати наступний синтаксис CREATE TABLE у SQL:

 CREATE TABLE table_name1 ( Column_Name_1 data type (size of the column_1), Column_Name_2 data type (size of the column_2), ......, Column_Name_N data type (size of the column_N) FOREIGN KEY REFERENCES Table_Name2 (Column_Name) ) ; 

приклад

Наступний запит додає FOREIGN KEY у стовпець «Model» у таблиці Cars_Details:

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT, Model INT FOREIGN KEY REFERENCES Cars_Price_Details (Car_Model), Cars_Name VARCHAR (20), Color VARCHAR (20) UNIQUE, Price INT NOT NULL ) ; 

Цей запит у SQL об'єднується the Cars_Details таблиця з Автомобілі_Ціна_Деталі таблицю за допомогою зовнішнього ключа.

Крок 5: Перегляньте структуру таблиці після додавання зовнішнього ключа

Для перевірки результату запиту, виконаного в 4тискрок, вам потрібно ввести таку команду DESC у SQL:

 DESC Cars_Details; 

Поле Тип НУЛЬ ключ За замовчуванням Екстра
Номер_автомобіля ІНТ Так ПЕРВИННИЙ НУЛЬ auto_increment
Модель ІНТ Немає ІНОЗЕМНІ НУЛЬ -
Car_Name Варчар(20) Так - НУЛЬ -
Колір Варчар(20) Так - НУЛЬ -
Ціна ІНТ НІ - НУЛЬ -
Середній ІНТ НІ - 0 -

Як показано у вихідних даних вище, стовпець Model створюється як зовнішній ключ.

Додайте зовнішній ключ до наявної таблиці

Якщо ви хочете додати зовнішній ключ до існуючої таблиці, вам потрібно використовувати такий синтаксис ALTER у SQL:

 ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name); 

Наступний запит додає FOREIGN KEY у стовпець Model, коли таблиця Cars_Details уже існує в системі бази даних:

 ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model); 

Цей запит ALTER у SQL приєднується the Cars_Details таблиця з Автомобілі_Ціна_Деталі таблицю за допомогою зовнішнього ключа.

Видалити зовнішній ключ із таблиці

Якщо ви хочете видалити зовнішній ключ зі стовпця таблиці, вам потрібно скористатися наступним ЗМІНИТИ синтаксис у SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Наступний запит видаляє створений FOREIGN KEY зі стовпця Model таблиці Cars_Details:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;