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:
- Legg til fremmednøkkel ved å bruke Create table statement
- 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:
- Lag databasen i systemet.
- Lag to tabeller i samme database.
- Se tabellstruktur før tilføyelse av fremmednøkkel.
- Legg til en fremmednøkkel i tabellen.
- 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 | PÅ | 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 | PÅ | 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;