logo

Jak dodać klucz obcy w SQL

W tym artykule dowiemy się jak dodać klucz obcy do kolumny w tabeli naszej bazy danych SQL.

The KLUCZ OBCY w SQL służy do łączenia rekordu dwóch tabel w bazie danych. Kolumna zdefiniowana jako KLUCZ OBCY w jednej tabeli musi być KLUCZEM PODSTAWOWYM w innej tabeli w tej samej bazie danych.

Klucz obcy do kolumny możemy łatwo dodać na dwa sposoby:

  1. Dodaj klucz obcy za pomocą instrukcji Create table
  2. Dodaj klucz obcy za pomocą instrukcji Alter Table

Jeśli chcesz dodać KLUCZ OBCY do kolumny w tabeli SQL, musisz wykonać poniższe kroki w podanej kolejności:

  1. Utwórz bazę danych w systemie.
  2. Utwórz dwie tabele w tej samej bazie danych.
  3. Zobacz strukturę tabeli przed dodaniem klucza obcego.
  4. Dodaj klucz obcy do tabeli.
  5. Zobacz strukturę tabeli.

Teraz wyjaśnimy powyższe kroki na przykładzie:

Krok 1: Utwórz bazę danych

W Structured Query Language utworzenie bazy danych jest pierwszym krokiem do przechowywania ustrukturyzowanych tabel w bazie danych.

Aby utworzyć bazę danych, użyj następującej składni SQL:

 CREATE DATABASE Database_Name; 

Załóżmy, że chcesz utworzyć plik Pojazdy Baza danych. W tym celu musisz wpisać następujące polecenie w Structured Query Language:

 CREATE DATABASE Vehicles; 

Krok 2: Utwórz dwie tabele w bazie danych

Teraz musisz użyć następującej składni SQL do tworzenia tabel w bazie danych:

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

Następujące zapytanie SQL tworzy plik Samochody_Szczegóły stolik w Pojazdy Baza danych.

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

Tworzy następujące zapytanie Samochody_Cena_Szczegóły stolik w Pojazdy Baza danych:

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

Krok 3: Wyświetl strukturę tabeli przed dodaniem klucza obcego

Po utworzeniu tabeli i wstawieniu danych możesz wyświetlić strukturę obu tabel, wpisując w aplikacji SQL następujące zapytanie:

 DESC Cars or DESCRIBE Cars ; 

Pole Typ ZERO Klucz Domyślny Dodatkowy
Numer samochodu WEWN NIE NA ZERO automatyczny_przyrost
Model WEWN Tak - ZERO -
Nazwa_samochodu Varchar(20) Tak - ZERO
Kolor Varchar(20) Tak - ZERO -

 DESC Cars_Price_Details; 

Pole Typ ZERO Klucz Domyślny Dodatkowy
Model samochodu WEWN NIE NA ZERO -
Cena_samochodu WEWN NIE - ZERO

Krok 4: Dodaj klucz obcy do kolumny w tabeli

Jeśli chcesz dodać klucz obcy podczas tworzenia tabeli, musisz użyć następującej składni CREATE TABLE w 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) ) ; 

Przykład

Poniższe zapytanie dodaje KLUCZ OBCY w kolumnie „Model” w 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 ) ; 

To zapytanie w SQL łączy Cars_Details stół z Samochody_Cena_Szczegóły tabeli za pomocą klucza obcego.

Krok 5: Wyświetl strukturę tabeli po dodaniu klucza obcego

Aby sprawdzić wynik zapytania wykonanego w 4tkrok, musisz wpisać następującą komendę DESC w SQL:

 DESC Cars_Details; 

Pole Typ ZERO Klucz Domyślny Dodatkowy
Numer samochodu WEWN Tak PODSTAWOWY ZERO automatyczny_przyrost
Model WEWN NIE ZAGRANICZNY ZERO -
Nazwa_samochodu Varchar(20) Tak - ZERO -
Kolor Varchar(20) Tak - ZERO -
Cena WEWN NIE - ZERO -
Przeciętny WEWN NIE - 0 -

Jak pokazano na powyższych wynikach, kolumna Model jest tworzona jako klucz obcy.

Dodaj klucz obcy do istniejącej tabeli

Jeśli chcesz dodać klucz obcy do istniejącej tabeli, musisz użyć następującej składni ALTER w SQL:

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

Poniższe zapytanie dodaje klucz obcy w kolumnie Model, gdy tabela Cars_Details już istnieje w systemie bazy danych:

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

To zapytanie ALTER w SQL łączy Cars_Details stół z Samochody_Cena_Szczegóły tabeli za pomocą klucza obcego.

Usuń klucz obcy z tabeli

Jeśli chcesz usunąć klucz obcy z kolumny tabeli, musisz użyć poniższych opcji ZMIENIAĆ składnia w SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Poniższe zapytanie usuwa utworzony KLUCZ OBCY z kolumny Model tabeli Cars_Details:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;