logo

Hur man lägger till främmande nyckel i SQL

I den här artikeln kommer vi att lära oss hur du lägger till en främmande nyckel till kolumnen i tabellen i vår SQL-databas.

De FRÄMMANDE NYCKEL i SQL används för att sammanfoga posten för två tabeller i databasen. Kolumnen som definieras som FOREIGN KEY i en tabell måste vara PRIMÄRKEY i en annan tabell i samma databas.

Vi kan enkelt lägga till främmande nyckel till kolumnen på följande två sätt:

  1. Lägg till främmande nyckel med Skapa tabellsats
  2. Lägg till främmande nyckel med Alter Table-satsen

Om du vill lägga till en UTLÄNDSK NYCKEL till kolumnen i SQL-tabellen måste du följa stegen nedan i den givna sekvensen:

  1. Skapa databasen i systemet.
  2. Skapa två tabeller i samma databas.
  3. Se tabellstrukturen före tillägg av främmande nyckel.
  4. Lägg till en främmande nyckel till tabellen.
  5. Se tabellstrukturen.

Nu ska vi förklara stegen ovan med ett exempel:

Steg 1: Skapa en databas

I Structured Query Language är att skapa en databas det första steget för att lagra de strukturerade tabellerna i databasen.

Använd följande SQL-syntax för att skapa en databas:

 CREATE DATABASE Database_Name; 

Anta att du vill skapa Fordon databas. För detta måste du skriva följande kommando i Structured Query Language:

 CREATE DATABASE Vehicles; 

Steg 2: Skapa två tabeller i databasen

Nu måste du använda följande SQL-syntax för att skapa tabellerna i din databas:

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

Följande SQL-fråga skapar Bilar_Detaljer bordet i Fordon databas.

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

Följande fråga skapar Bilar_Pris_detaljer bordet i Fordon databas:

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

Steg 3: Se tabellstrukturen före tillägg av främmande nyckel

Efter att ha skapat tabeller och infogat data kan du se strukturen för båda tabellerna genom att skriva följande fråga i din SQL-applikation:

 DESC Cars or DESCRIBE Cars ; 

Fält Typ NULL Nyckel Standard Extra
Bilnummer INT NEJ NULL auto_increment
Modell INT Ja - NULL -
Car_Name Varchar(20) Ja - NULL
Färg Varchar(20) Ja - NULL -

 DESC Cars_Price_Details; 

Fält Typ NULL Nyckel Standard Extra
Bilmodell INT Nej NULL -
Bil_Pris INT Nej - NULL

Steg 4: Lägg till en främmande nyckel till kolumnen i tabellen

Om du vill lägga till den främmande nyckeln vid tidpunkten för tabellskapandet, måste du använda följande CREATE TABLE-syntax i 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) ) ; 

Exempel

Följande fråga lägger till FOREIGN KEY i kolumnen 'Model' i tabellen 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 ) ; 

Den här frågan i SQL går med Bilar_detaljer bord med Bilar_Pris_detaljer tabell med hjälp av en främmande nyckel.

Steg 5: Se tabellstrukturen efter tillägg av främmande nyckel

För att kontrollera resultatet av frågan som körs i den 4thsteg, du måste skriva följande DESC-kommando i SQL:

 DESC Cars_Details; 

Fält Typ NULL Nyckel Standard Extra
Bilnummer INT Ja PRIMÄR NULL auto_increment
Modell INT Nej UTLÄNDSK NULL -
Car_Name Varchar(20) Ja - NULL -
Färg Varchar(20) Ja - NULL -
Pris INT NEJ - NULL -
Genomsnitt INT NEJ - 0 -

Som visas i ovanstående utdata skapas modellkolumnen som främmande nyckel.

Lägg till främmande nyckel till den befintliga tabellen

Om du vill lägga till den främmande nyckeln till den befintliga tabellen måste du använda följande ALTER-syntax i SQL:

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

Följande fråga lägger till en FOREIGN KEY i kolumnen Modell när tabellen Cars_Details redan finns i databassystemet:

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

Denna ALTER-fråga i SQL ansluter Bilar_detaljer bord med Bilar_Pris_detaljer tabell med hjälp av en främmande nyckel.

Ta bort främmande nyckel från tabellen

Om du vill ta bort den främmande nyckeln från tabellens kolumn måste du använda följande ÄNDRA syntax i SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Följande fråga tar bort den skapade FOREIGN KEY från kolumnen Model i tabellen Cars_Details:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;