logo

Hvordan legge til fremmednøkkel i SQL

I denne artikkelen vil vi lære hvordan du legger til en fremmednøkkel i kolonnen i tabellen i vår SQL-database.

De UTENLANDSKE NØKKEL i SQL brukes til å slå sammen posten til to tabeller i databasen. Kolonnen som er definert som FOREIGN KEY i en tabell, må være PRIMÆR NØKKEL i en annen tabell i samme database.

Vi kan enkelt legge til fremmednøkkel til kolonnen på følgende to måter:

  1. Legg til fremmednøkkel ved å bruke Create table statement
  2. Legg til fremmednøkkel ved å bruke Alter Table-setningen

Hvis du vil legge til en UTENLANDSKE NØKKEL til kolonnen i SQL-tabellen, må du følge trinnene nedenfor i gitt rekkefølge:

  1. Lag databasen i systemet.
  2. Lag to tabeller i samme database.
  3. Se tabellstruktur før tilføyelse av fremmednøkkel.
  4. Legg til en fremmednøkkel i tabellen.
  5. Se tabellstrukturen.

Nå skal vi forklare trinnene ovenfor med et eksempel:

Trinn 1: Opprett en database

I Structured Query Language er å opprette en database det første trinnet for å lagre de strukturerte tabellene i databasen.

Bruk følgende SQL-syntaks for å lage en database:

 CREATE DATABASE Database_Name; 

Anta at du vil lage Kjøretøy database. For dette må du skrive inn følgende kommando i Structured Query Language:

 CREATE DATABASE Vehicles; 

Trinn 2: Lag to tabeller i databasen

Nå må du bruke følgende SQL-syntaks for å lage tabellene i databasen din:

 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ølgende SQL-spørring oppretter Biler_detaljer bord i Kjøretøy database.

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

Følgende spørring oppretter Biler_Pris_detaljer bord i Kjøretøy database:

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

Trinn 3: Se tabellstrukturen før tillegg av fremmednøkkel

Etter tabelloppretting og datainnsetting kan du se strukturen til begge tabellene ved å skrive inn følgende spørring i SQL-applikasjonen din:

 DESC Cars or DESCRIBE Cars ; 

Felt Type NULL Nøkkel Misligholde Ekstra
Bilnummer INT NEI NULL auto_increment
Modell INT Ja - NULL -
Bilnavn Varchar(20) Ja - NULL
Farge Varchar(20) Ja - NULL -

 DESC Cars_Price_Details; 

Felt Type NULL Nøkkel Misligholde Ekstra
Bil_modell INT Nei NULL -
Bil_Pris INT Nei - NULL

Trinn 4: Legg til en fremmednøkkel i kolonnen i tabellen

Hvis du vil legge til fremmednøkkelen på tidspunktet for tabelloppretting, må du bruke følgende CREATE TABLE-syntaks 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) ) ; 

Eksempel

Følgende spørring legger til FOREIGN KEY i 'Model'-kolonnen i Cars_Details-tabellen:

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

Denne spørringen i SQL blir med Cars_Details bord med Biler_Pris_detaljer tabellen ved hjelp av en fremmednøkkel.

Trinn 5: Se tabellstrukturen etter tillegg av fremmednøkkel

For å sjekke resultatet av spørringen utført i den 4thsteg, du må skrive inn følgende DESC-kommando i SQL:

 DESC Cars_Details; 

Felt Type NULL Nøkkel Misligholde Ekstra
Bilnummer INT Ja HOVED NULL auto_increment
Modell INT Nei FREMMED NULL -
Bilnavn Varchar(20) Ja - NULL -
Farge Varchar(20) Ja - NULL -
Pris INT NEI - NULL -
Gjennomsnitt INT NEI - 0 -

Som vist i utgangen ovenfor, opprettes modellkolonnen som fremmednøkkel.

Legg til fremmednøkkel til den eksisterende tabellen

Hvis du vil legge til fremmednøkkelen til den eksisterende tabellen, må du bruke følgende ALTER-syntaks i SQL:

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

Følgende spørring legger til en FOREIGN KEY i Model-kolonnen når Cars_Details-tabellen allerede eksisterer i databasesystemet:

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

Denne ALTER-spørringen i SQL blir med Cars_Details bord med Biler_Pris_detaljer tabellen ved hjelp av en fremmednøkkel.

Slett fremmednøkkel fra tabellen

Hvis du ønsker å slette fremmednøkkelen fra kolonnen i tabellen, må du bruke følgende ENDRE syntaks i SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Følgende spørring sletter den opprettede FOREIGN KEY fra Model-kolonnen i Cars_Details-tabellen:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;