V tem članku se bomo naučili, kako dodati tuji ključ v stolpec v tabeli naše baze podatkov SQL.
The TUJI KLJUČ v SQL se uporablja za združevanje zapisa dveh tabel v bazi podatkov. Stolpec, definiran kot TUJI KLJUČ v eni tabeli, mora biti PRIMARNI KLJUČ v drugi tabeli v isti bazi podatkov.
Tuji ključ lahko preprosto dodamo v stolpec na naslednja dva načina:
- Dodajte tuji ključ s stavkom Ustvari tabelo
- Dodajte tuji ključ s stavkom Alter Table
Če želite stolpcu v tabeli SQL dodati TUJI KLJUČ, morate slediti spodnjim korakom v danem zaporedju:
- Ustvarite bazo podatkov v sistemu.
- Ustvarite dve tabeli v isti bazi podatkov.
- Oglejte si strukturo tabele pred dodajanjem tujega ključa.
- Dodajte tuji ključ v tabelo.
- Oglejte si strukturo tabele.
Zdaj bomo zgornje korake razložili s primerom:
1. korak: Ustvarite zbirko podatkov
V jeziku strukturiranih poizvedb je ustvarjanje baze podatkov prvi korak za shranjevanje strukturiranih tabel v bazi podatkov.
Za ustvarjanje baze podatkov uporabite naslednjo sintakso SQL:
CREATE DATABASE Database_Name;
Recimo, da želite ustvariti Vozila zbirka podatkov. Za to morate v jeziku strukturiranih poizvedb vnesti naslednji ukaz:
CREATE DATABASE Vehicles;
2. korak: ustvarite dve tabeli v bazi podatkov
Zdaj morate uporabiti naslednjo sintakso SQL za ustvarjanje tabel v vaši bazi podatkov:
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) );
Naslednja poizvedba SQL ustvari Cars_Details tabela v Vozila zbirka podatkov.
CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT PRIMARY KEY, Model INT, Cars_Name VARCHAR (20), Colour VARCHAR (20), );
Naslednja poizvedba ustvari Cars_Price_Details tabela v Vozila baza podatkov:
CREATE TABLE Cars_Price_Details ( Model INT NOT NULL PRIMARY KEY, Cars_Price INT NOT NULL );
3. korak: Oglejte si strukturo tabele pred dodajanjem tujega ključa
Ko ustvarite tabelo in vstavite podatke, si lahko ogledate strukturo obeh tabel tako, da v svojo aplikacijo SQL vnesete naslednjo poizvedbo:
DESC Cars or DESCRIBE Cars ;
Polje | Vrsta | NIČ | Ključ | Privzeto | Dodatno |
---|---|---|---|---|---|
Številka_avta | INT | št | AT | NIČ | auto_increment |
Model | INT | ja | - | NIČ | - |
Car_Name | Varchar (20) | ja | - | NIČ | |
barva | Varchar (20) | ja | - | NIČ | - |
DESC Cars_Price_Details;
Polje | Vrsta | NIČ | Ključ | Privzeto | Dodatno |
---|---|---|---|---|---|
Car_Model | INT | št | AT | NIČ | - |
Car_Price | INT | št | - | NIČ |
4. korak: Dodajte tuji ključ v stolpec v tabeli
Če želite dodati tuji ključ v času ustvarjanja tabele, morate v SQL uporabiti naslednjo sintakso CREATE TABLE:
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) ) ;
Primer
Naslednja poizvedba doda TUJI KLJUČ v stolpec 'Model' v 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 ) ;
Ta poizvedba v SQL se združuje avtomobili_podrobnosti mizo z Cars_Price_Details tabelo s pomočjo tujega ključa.
5. korak: Oglejte si strukturo tabele po dodajanju tujega ključa
Če želite preveriti rezultat poizvedbe, izvedene v 4thkorak, v SQL morate vnesti naslednji ukaz DESC:
DESC Cars_Details;
Polje | Vrsta | NIČ | Ključ | Privzeto | Dodatno |
---|---|---|---|---|---|
Številka_avta | INT | ja | PRIMARNO | NIČ | auto_increment |
Model | INT | št | TUJINA | NIČ | - |
Car_Name | Varchar (20) | ja | - | NIČ | - |
barva | Varchar (20) | ja | - | NIČ | - |
Cena | INT | št | - | NIČ | - |
Povprečje | INT | št | - | 0 | - |
Kot je prikazano v zgornjem izhodu, je stolpec Model ustvarjen kot tuji ključ.
Dodajte tuji ključ v obstoječo tabelo
Če želite dodati tuji ključ v obstoječo tabelo, morate uporabiti naslednjo sintakso ALTER v SQL:
ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name);
Naslednja poizvedba doda TUJI KLJUČ v stolpec Model, ko tabela Cars_Details že obstaja v sistemu baze podatkov:
ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model);
Ta poizvedba ALTER v SQL se združi avtomobili_podrobnosti mizo z Cars_Price_Details tabelo s pomočjo tujega ključa.
Izbrišite tuji ključ iz tabele
Če želite izbrisati tuji ključ iz stolpca tabele, morate uporabiti naslednje SPREMINJATI sintaksa v SQL:
ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name;
Naslednja poizvedba izbriše ustvarjeni TUJI KLJUČ iz stolpca Model v tabeli Cars_Details:
ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;