logo

Cum să adăugați cheie străină în SQL

În acest articol, vom afla cum să adăugați o cheie externă la coloana din tabelul bazei noastre de date SQL.

The CHEIE EXTERNĂ în SQL este folosit pentru a uni înregistrarea a două tabele din baza de date. Coloana definită ca CHEIE STRĂINĂ într-un tabel trebuie să fie CHEIA PRIMARĂ într-un alt tabel din aceeași bază de date.

Putem adăuga cu ușurință cheie străină la coloană în următoarele două moduri:

  1. Adăugați o cheie externă utilizând instrucțiunea Creare tabel
  2. Adăugați o cheie externă folosind instrucțiunea Alter Table

Dacă doriți să adăugați o CHEIE STRĂINĂ la coloană în tabelul SQL, trebuie să urmați pașii de mai jos în secvența dată:

  1. Creați baza de date în sistem.
  2. Creați două tabele în aceeași bază de date.
  3. Vedeți structura tabelului înainte de adăugarea cheii externe.
  4. Adăugați o cheie străină la tabel.
  5. Vedeți structura tabelului.

Acum, vom explica pașii de mai sus cu un exemplu:

Pasul 1: Creați o bază de date

În Structured Query Language, crearea unei baze de date este primul pas pentru stocarea tabelelor structurate în baza de date.

Utilizați următoarea sintaxă SQL pentru a crea o bază de date:

 CREATE DATABASE Database_Name; 

Să presupunem că doriți să creați Vehicule Bază de date. Pentru aceasta, trebuie să tastați următoarea comandă în Structured Query Language:

 CREATE DATABASE Vehicles; 

Pasul 2: Creați două tabele în baza de date

Acum, trebuie să utilizați următoarea sintaxă SQL pentru a crea tabelele din baza de date:

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

Următoarea interogare SQL creează Mașini_Detalii masa în Vehicule Bază de date.

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

Următoarea interogare creează Detalii_preț_mașini masa în Vehicule Bază de date:

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

Pasul 3: Vizualizați structura tabelului înainte de adăugarea cheii externe

După crearea tabelului și inserarea datelor, puteți vizualiza structura ambelor tabele tastând următoarea interogare în aplicația dvs. SQL:

 DESC Cars or DESCRIBE Cars ; 

Camp Tip NUL Cheie Mod implicit Suplimentar
Număr_mașină INT NU LA NUL increment auto
Model INT da - NUL -
Nume_Mașină Varchar(20) da - NUL
Culoare Varchar(20) da - NUL -

 DESC Cars_Price_Details; 

Camp Tip NUL Cheie Mod implicit Suplimentar
Model de mașină INT Nu LA NUL -
Preț_mașină INT Nu - NUL

Pasul 4: Adăugați o cheie străină la coloana din tabel

Dacă doriți să adăugați cheia externă în momentul creării tabelului, atunci trebuie să utilizați următoarea sintaxă CREATE TABLE în 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) ) ; 

Exemplu

Următoarea interogare adaugă CHEIA STRĂINĂ în coloana „Model” din tabelul 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 ) ; 

Această interogare în SQL se unește the Cars_Details masa cu Detalii_preț_mașini tabel cu ajutorul unei chei străine.

Pasul 5: Vizualizați structura tabelului după adăugarea cheii externe

Pentru a verifica rezultatul interogării executate în cel 4thEtapa, trebuie să tastați următoarea comandă DESC în SQL:

 DESC Cars_Details; 

Camp Tip NUL Cheie Mod implicit Suplimentar
Număr_mașină INT da PRIMAR NUL increment auto
Model INT Nu STRĂIN NUL -
Nume_Mașină Varchar(20) da - NUL -
Culoare Varchar(20) da - NUL -
Preț INT NU - NUL -
In medie INT NU - 0 -

După cum se arată în rezultatul de mai sus, coloana Model este creată ca cheie externă.

Adăugați cheia externă la tabelul existent

Dacă doriți să adăugați cheia externă la tabelul existent, trebuie să utilizați următoarea sintaxă ALTER în SQL:

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

Următoarea interogare adaugă o CHEIE STRĂINĂ în coloana Model atunci când tabelul Cars_Details există deja în sistemul bazei de date:

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

Această interogare ALTER în SQL se unește the Cars_Details masa cu Detalii_preț_mașini tabel cu ajutorul unei chei străine.

Ștergeți cheia străină din tabel

Dacă doriți să ștergeți cheia externă din coloana tabelului, trebuie să utilizați următoarele MODIFICA sintaxa in SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Următoarea interogare șterge CHEIA STRĂINĂ creată din coloana Model din tabelul Cars_Details:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;