В тази статия ще научим как да добавим външен ключ към колоната в таблицата на нашата SQL база данни.
The ВЪНШЕН КЛЮЧ в SQL се използва за обединяване на записа на две таблици в базата данни. Колоната, дефинирана като ВЪНШЕН КЛЮЧ в една таблица, трябва да бъде ПЪРВИЧНИЯТ КЛЮЧ в друга таблица в същата база данни.
Можем лесно да добавим външен ключ към колоната по следните два начина:
- Добавете външен ключ с помощта на оператор Create table
- Добавяне на външен ключ с помощта на израза Alter Table
Ако искате да добавите ВЪНШЕН КЛЮЧ към колоната в SQL таблицата, трябва да следвате стъпките по-долу в дадената последователност:
- Създайте базата данни в системата.
- Създайте две таблици в една и съща база данни.
- Вижте структурата на таблицата преди добавяне на външен ключ.
- Добавете външен ключ към таблицата.
- Вижте структурата на таблицата.
Сега ще обясним горните стъпки с пример:
Стъпка 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;