Î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:
- Adăugați o cheie externă utilizând instrucțiunea Creare tabel
- 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ă:
- Creați baza de date în sistem.
- Creați două tabele în aceeași bază de date.
- Vedeți structura tabelului înainte de adăugarea cheii externe.
- Adăugați o cheie străină la tabel.
- 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;