logo

Kako dodati tuji ključ v SQL

V tem članku se bomo naučili, kako dodati tuji ključ v stolpec v tabeli naše baze podatkov SQL.

The TUJI KLJUČ v SQL se uporablja za združevanje zapisa dveh tabel v bazi podatkov. Stolpec, definiran kot TUJI KLJUČ v eni tabeli, mora biti PRIMARNI KLJUČ v drugi tabeli v isti bazi podatkov.

Tuji ključ lahko preprosto dodamo v stolpec na naslednja dva načina:

  1. Dodajte tuji ključ s stavkom Ustvari tabelo
  2. Dodajte tuji ključ s stavkom Alter Table

Če želite stolpcu v tabeli SQL dodati TUJI KLJUČ, morate slediti spodnjim korakom v danem zaporedju:

  1. Ustvarite bazo podatkov v sistemu.
  2. Ustvarite dve tabeli v isti bazi podatkov.
  3. Oglejte si strukturo tabele pred dodajanjem tujega ključa.
  4. Dodajte tuji ključ v tabelo.
  5. Oglejte si strukturo tabele.

Zdaj bomo zgornje korake razložili s primerom:

1. korak: Ustvarite zbirko podatkov

V jeziku strukturiranih poizvedb je ustvarjanje baze podatkov prvi korak za shranjevanje strukturiranih tabel v bazi podatkov.

Za ustvarjanje baze podatkov uporabite naslednjo sintakso SQL:

 CREATE DATABASE Database_Name; 

Recimo, da želite ustvariti Vozila zbirka podatkov. Za to morate v jeziku strukturiranih poizvedb vnesti naslednji ukaz:

 CREATE DATABASE Vehicles; 

2. korak: ustvarite dve tabeli v bazi podatkov

Zdaj morate uporabiti naslednjo sintakso SQL za ustvarjanje tabel v vaši bazi podatkov:

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

Naslednja poizvedba SQL ustvari Cars_Details tabela v Vozila zbirka podatkov.

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

Naslednja poizvedba ustvari Cars_Price_Details tabela v Vozila baza podatkov:

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

3. korak: Oglejte si strukturo tabele pred dodajanjem tujega ključa

Ko ustvarite tabelo in vstavite podatke, si lahko ogledate strukturo obeh tabel tako, da v svojo aplikacijo SQL vnesete naslednjo poizvedbo:

 DESC Cars or DESCRIBE Cars ; 

Polje Vrsta NIČ Ključ Privzeto Dodatno
Številka_avta INT št AT NIČ auto_increment
Model INT ja - NIČ -
Car_Name Varchar (20) ja - NIČ
barva Varchar (20) ja - NIČ -

 DESC Cars_Price_Details; 

Polje Vrsta NIČ Ključ Privzeto Dodatno
Car_Model INT št AT NIČ -
Car_Price INT št - NIČ

4. korak: Dodajte tuji ključ v stolpec v tabeli

Če želite dodati tuji ključ v času ustvarjanja tabele, morate v SQL uporabiti naslednjo sintakso CREATE TABLE:

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

Primer

Naslednja poizvedba doda TUJI KLJUČ v stolpec 'Model' v tabeli 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 ) ; 

Ta poizvedba v SQL se združuje avtomobili_podrobnosti mizo z Cars_Price_Details tabelo s pomočjo tujega ključa.

5. korak: Oglejte si strukturo tabele po dodajanju tujega ključa

Če želite preveriti rezultat poizvedbe, izvedene v 4thkorak, v SQL morate vnesti naslednji ukaz DESC:

 DESC Cars_Details; 

Polje Vrsta NIČ Ključ Privzeto Dodatno
Številka_avta INT ja PRIMARNO NIČ auto_increment
Model INT št TUJINA NIČ -
Car_Name Varchar (20) ja - NIČ -
barva Varchar (20) ja - NIČ -
Cena INT št - NIČ -
Povprečje INT št - 0 -

Kot je prikazano v zgornjem izhodu, je stolpec Model ustvarjen kot tuji ključ.

Dodajte tuji ključ v obstoječo tabelo

Če želite dodati tuji ključ v obstoječo tabelo, morate uporabiti naslednjo sintakso ALTER v SQL:

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

Naslednja poizvedba doda TUJI KLJUČ v stolpec Model, ko tabela Cars_Details že obstaja v sistemu baze podatkov:

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

Ta poizvedba ALTER v SQL se združi avtomobili_podrobnosti mizo z Cars_Price_Details tabelo s pomočjo tujega ključa.

Izbrišite tuji ključ iz tabele

Če želite izbrisati tuji ključ iz stolpca tabele, morate uporabiti naslednje SPREMINJATI sintaksa v SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Naslednja poizvedba izbriše ustvarjeni TUJI KLJUČ iz stolpca Model v tabeli Cars_Details:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;