logo

Как да добавите външен ключ в SQL

В тази статия ще научим как да добавим външен ключ към колоната в таблицата на нашата SQL база данни.

The ВЪНШЕН КЛЮЧ в SQL се използва за обединяване на записа на две таблици в базата данни. Колоната, дефинирана като ВЪНШЕН КЛЮЧ в една таблица, трябва да бъде ПЪРВИЧНИЯТ КЛЮЧ в друга таблица в същата база данни.

Можем лесно да добавим външен ключ към колоната по следните два начина:

  1. Добавете външен ключ с помощта на оператор Create table
  2. Добавяне на външен ключ с помощта на израза Alter Table

Ако искате да добавите ВЪНШЕН КЛЮЧ към колоната в SQL таблицата, трябва да следвате стъпките по-долу в дадената последователност:

  1. Създайте базата данни в системата.
  2. Създайте две таблици в една и съща база данни.
  3. Вижте структурата на таблицата преди добавяне на външен ключ.
  4. Добавете външен ключ към таблицата.
  5. Вижте структурата на таблицата.

Сега ще обясним горните стъпки с пример:

Стъпка 1: Създайте база данни

В езика за структурирани заявки създаването на база данни е първата стъпка за съхраняване на структурираните таблици в базата данни.

Използвайте следния SQL синтаксис, за да създадете база данни:

 CREATE DATABASE Database_Name; 

Да предположим, че искате да създадете Превозни средства база данни. За целта трябва да въведете следната команда на Structured Query Language:

 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), ); 

Създава се следната заявка Cars_Price_Details маса в Превозни средства база данни:

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

Стъпка 3: Вижте структурата на таблицата преди добавяне на външен ключ

След създаването на таблица и вмъкването на данни можете да видите структурата на двете таблици, като напишете следната заявка във вашето SQL приложение:

 DESC Cars or DESCRIBE Cars ; 

Поле Тип НУЛА Ключ По подразбиране Екстра
Номер_на_автомобил ИНТР НЕ AT НУЛА автоматично увеличаване
Модел ИНТР да - НУЛА -
Car_Name Варчар (20) да - НУЛА
Цвят Варчар (20) да - НУЛА -

 DESC Cars_Price_Details; 

Поле Тип НУЛА Ключ По подразбиране Екстра
Модел_автомобил ИНТР Не AT НУЛА -
Автомобил_Цена ИНТР Не - НУЛА

Стъпка 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 маса с Cars_Price_Details таблица с помощта на външен ключ.

Стъпка 5: Вижте структурата на таблицата след добавяне на външен ключ

За да проверите резултата от заявката, изпълнена в 4thстъпка, трябва да въведете следната команда DESC в SQL:

 DESC Cars_Details; 

Поле Тип НУЛА Ключ По подразбиране Екстра
Номер_на_автомобил ИНТР да ПЪРВИЧЕН НУЛА автоматично увеличаване
Модел ИНТР Не ЧУЖДЕСТРАНЕН НУЛА -
Car_Name Варчар (20) да - НУЛА -
Цвят Варчар (20) да - НУЛА -
Цена ИНТР НЕ - НУЛА -
Средно аритметично ИНТР НЕ - 0 -

Както е показано в горния изход, колоната Модел се създава като външен ключ.

Добавете външен ключ към съществуващата таблица

Ако искате да добавите външния ключ към съществуващата таблица, трябва да използвате следния синтаксис 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 маса с Cars_Price_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;