У овом чланку ћемо научити како да додате страни кључ у колону у табели наше СКЛ базе података.
Тхе СТРАНИ КЉУЧ у СКЛ-у се користи за спајање записа две табеле у бази података. Колона дефинисана као СТРАНИ КЉУЧ у једној табели мора бити ПРИМАРНИ КЉУЧ у другој табели у истој бази података.
Страни кључ можемо лако додати у колону на следећа два начина:
- Додајте страни кључ користећи наредбу Креирај табелу
- Додајте страни кључ користећи наредбу Алтер Табле
Ако желите да додате СТРАНИ КЉУЧ у колону у СКЛ табелу, морате да следите доле наведене кораке у датом редоследу:
- Креирајте базу података у систему.
- Направите две табеле у истој бази података.
- Погледајте структуру табеле пре додавања страног кључа.
- Додајте страни кључ у табелу.
- Погледајте структуру табеле.
Сада ћемо објаснити горе наведене кораке на примеру:
Корак 1: Креирајте базу података
У језику структурираних упита, креирање базе података је први корак за складиштење структурираних табела у бази података.
Користите следећу СКЛ синтаксу да креирате базу података:
CREATE DATABASE Database_Name;
Претпоставимо да желите да креирате Возила база података. За ово морате да откуцате следећу команду у језику структурираних упита:
CREATE DATABASE Vehicles;
Корак 2: Направите две табеле у бази података
Сада морате да користите следећу СКЛ синтаксу за креирање табела у вашој бази података:
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) );
Следећи СКЛ упит креира Царс_Детаилс сто у Возила база података.
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: Прегледајте структуру табеле пре додавања страног кључа
Након креирања табеле и уметања података, можете видети структуру обе табеле тако што ћете откуцати следећи упит у вашој СКЛ апликацији:
DESC Cars or DESCRIBE Cars ;
Поље | Тип | НУЛА | Кључ | Уобичајено | Ектра |
---|---|---|---|---|---|
Цар_Нумбер | ИНТ | НЕ | АТ | НУЛА | ауто_инцремент |
Модел | ИНТ | да | - | НУЛА | - |
Цар_Наме | Варцхар(20) | да | - | НУЛА | |
Боја | Варцхар(20) | да | - | НУЛА | - |
DESC Cars_Price_Details;
Поље | Тип | НУЛА | Кључ | Уобичајено | Ектра |
---|---|---|---|---|---|
Цар_Модел | ИНТ | Не | АТ | НУЛА | - |
Цар_Прице | ИНТ | Не | - | НУЛА |
Корак 4: Додајте страни кључ у колону у табели
Ако желите да додате страни кључ у време креирања табеле, онда морате да користите следећу ЦРЕАТЕ ТАБЛЕ синтаксу у СКЛ-у:
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) ) ;
Пример
Следећи упит додаје СТРАНИ КЉУЧ у колону „Модел“ у табели Царс_Детаилс:
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 ) ;
Овај упит у СКЛ-у се спаја тхе Царс_Детаилс сто са Аутомобили_Детаљи_цене табела уз помоћ страног кључа.
Корак 5: Прегледајте структуру табеле након додавања страног кључа
Да бисте проверили резултат упита извршеног у 4тхКорак, морате да укуцате следећу ДЕСЦ команду у СКЛ-у:
DESC Cars_Details;
Поље | Тип | НУЛА | Кључ | Уобичајено | Ектра |
---|---|---|---|---|---|
Цар_Нумбер | ИНТ | да | ПРИМАРНА | НУЛА | ауто_инцремент |
Модел | ИНТ | Не | СТРАНИ | НУЛА | - |
Цар_Наме | Варцхар(20) | да | - | НУЛА | - |
Боја | Варцхар(20) | да | - | НУЛА | - |
Цена | ИНТ | НЕ | - | НУЛА | - |
Просек | ИНТ | НЕ | - | 0 | - |
Као што је приказано у горњем излазу, колона Модел је креирана као страни кључ.
Додајте страни кључ у постојећу табелу
Ако желите да додате страни кључ у постојећу табелу, морате да користите следећу АЛТЕР синтаксу у СКЛ-у:
ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name);
Следећи упит додаје СТРАНИ КЉУЧ у колону Модел када табела Царс_Детаилс већ постоји у систему базе података:
ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model);
Овај АЛТЕР упит у СКЛ-у се придружује тхе Царс_Детаилс сто са Аутомобили_Детаљи_цене табела уз помоћ страног кључа.
Избришите страни кључ из табеле
Ако желите да избришете страни кључ из колоне табеле, морате да користите следеће АЛТЕР синтакса у СКЛ-у:
ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name;
Следећи упит брише креирани СТРАНИ КЉУЧ из колоне Модел табеле Царс_Детаилс:
ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;