logo

So fügen Sie einen Fremdschlüssel in SQL hinzu

In diesem Artikel erfahren Sie, wie Sie der Spalte in der Tabelle unserer SQL-Datenbank einen Fremdschlüssel hinzufügen.

Der UNBEKANNTER SCHLÜSSEL wird in SQL verwendet, um den Datensatz zweier Tabellen in der Datenbank zu verbinden. Die als FOREIGN KEY in einer Tabelle definierte Spalte muss der PRIMARY KEY in einer anderen Tabelle in derselben Datenbank sein.

Wir können der Spalte auf einfache Weise einen Fremdschlüssel auf zwei Arten hinzufügen:

  1. Fügen Sie einen Fremdschlüssel mit der Anweisung „Create table“ hinzu
  2. Fügen Sie einen Fremdschlüssel mit der Alter Table-Anweisung hinzu

Wenn Sie der Spalte in der SQL-Tabelle einen AUSLÄNDISCHEN SCHLÜSSEL hinzufügen möchten, müssen Sie die folgenden Schritte in der angegebenen Reihenfolge ausführen:

  1. Erstellen Sie die Datenbank im System.
  2. Erstellen Sie zwei Tabellen in derselben Datenbank.
  3. Tabellenstruktur vor dem Hinzufügen eines Fremdschlüssels anzeigen.
  4. Fügen Sie der Tabelle einen Fremdschlüssel hinzu.
  5. Sehen Sie sich die Tabellenstruktur an.

Nun erklären wir die oben genannten Schritte anhand eines Beispiels:

Schritt 1: Erstellen Sie eine Datenbank

In der Structured Query Language ist das Erstellen einer Datenbank der erste Schritt zum Speichern der strukturierten Tabellen in der Datenbank.

Verwenden Sie die folgende SQL-Syntax, um eine Datenbank zu erstellen:

 CREATE DATABASE Database_Name; 

Angenommen, Sie möchten das erstellen Fahrzeuge Datenbank. Dazu müssen Sie den folgenden Befehl in Structured Query Language eingeben:

 CREATE DATABASE Vehicles; 

Schritt 2: Erstellen Sie zwei Tabellen in der Datenbank

Jetzt müssen Sie die folgende SQL-Syntax zum Erstellen der Tabellen in Ihrer Datenbank verwenden:

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

Die folgende SQL-Abfrage erstellt die Cars_Details Tabelle in der Fahrzeuge Datenbank.

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

Die folgende Abfrage erstellt Cars_Price_Details Tabelle in der Fahrzeuge Datenbank:

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

Schritt 3: Sehen Sie sich die Tabellenstruktur vor dem Hinzufügen des Fremdschlüssels an

Nach der Tabellenerstellung und dem Einfügen von Daten können Sie die Struktur beider Tabellen anzeigen, indem Sie die folgende Abfrage in Ihre SQL-Anwendung eingeben:

 DESC Cars or DESCRIBE Cars ; 

Feld Typ NULL Schlüssel Standard Extra
Autokennzeichen INT NEIN BEI NULL auto_increment
Modell INT Ja - NULL -
Autoname Varchar(20) Ja - NULL
Farbe Varchar(20) Ja - NULL -

 DESC Cars_Price_Details; 

Feld Typ NULL Schlüssel Standard Extra
Auto Model INT NEIN BEI NULL -
Car_Price INT NEIN - NULL

Schritt 4: Fügen Sie der Spalte in der Tabelle einen Fremdschlüssel hinzu

Wenn Sie den Fremdschlüssel zum Zeitpunkt der Tabellenerstellung hinzufügen möchten, müssen Sie die folgende CREATE TABLE-Syntax in SQL verwenden:

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

Beispiel

Die folgende Abfrage fügt den FOREIGN KEY zur Spalte „Model“ in der Tabelle „Cars_Details“ hinzu:

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

Diese Abfrage in SQL-Joins die Cars_Details Tisch mit der Cars_Price_Details Tabelle mit Hilfe eines Fremdschlüssels.

Schritt 5: Sehen Sie sich die Tabellenstruktur nach dem Hinzufügen des Fremdschlüssels an

Um das Ergebnis der in ausgeführten Abfrage zu überprüfen die 4ThSchritt, Sie müssen den folgenden DESC-Befehl in SQL eingeben:

 DESC Cars_Details; 

Feld Typ NULL Schlüssel Standard Extra
Autokennzeichen INT Ja PRIMÄR NULL auto_increment
Modell INT NEIN AUSLÄNDISCH NULL -
Autoname Varchar(20) Ja - NULL -
Farbe Varchar(20) Ja - NULL -
Preis INT NEIN - NULL -
Durchschnitt INT NEIN - 0 -

Wie in der obigen Ausgabe gezeigt, wird die Spalte „Modell“ als Fremdschlüssel erstellt.

Fügen Sie der vorhandenen Tabelle einen Fremdschlüssel hinzu

Wenn Sie den Fremdschlüssel zur vorhandenen Tabelle hinzufügen möchten, müssen Sie in SQL die folgende ALTER-Syntax verwenden:

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

Die folgende Abfrage fügt einen FOREIGN KEY zur Model-Spalte hinzu, wenn die Cars_Details-Tabelle bereits im Datenbanksystem vorhanden ist:

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

Diese ALTER-Abfrage in SQL-Joins die Cars_Details Tisch mit der Cars_Price_Details Tabelle mit Hilfe eines Fremdschlüssels.

Fremdschlüssel aus der Tabelle löschen

Wenn Sie den Fremdschlüssel aus der Spalte der Tabelle löschen möchten, müssen Sie Folgendes verwenden ÄNDERN Syntax in SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Die folgende Abfrage löscht den erstellten FOREIGN KEY aus der Model-Spalte der Cars_Details-Tabelle:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;