logo

Kaip pridėti svetimą raktą į SQL

Šiame straipsnyje mes sužinosime, kaip pridėti svetimą raktą į stulpelį mūsų SQL duomenų bazės lentelėje.

The SVETIMAS RAKTAS SQL yra naudojamas sujungti dviejų lentelių įrašą duomenų bazėje. Stulpelis, apibrėžtas kaip UŽSIENIS RAKTAS vienoje lentelėje, turi būti PIRMINIS RAKTAS kitoje tos pačios duomenų bazės lentelėje.

Mes galime lengvai pridėti išorinį raktą į stulpelį šiais dviem būdais:

  1. Pridėkite išorinį raktą naudodami pareiškimą „Sukurti lentelę“.
  2. Pridėkite išorinį raktą naudodami Alter Table teiginį

Jei norite į SQL lentelės stulpelį įtraukti UŽSIENIO RAKTĄ, turite atlikti toliau nurodytus veiksmus nurodyta seka:

  1. Sukurkite duomenų bazę sistemoje.
  2. Sukurkite dvi lenteles toje pačioje duomenų bazėje.
  3. Peržiūrėkite lentelės struktūrą prieš pridėdami išorinį raktą.
  4. Pridėkite svetimą raktą prie lentelės.
  5. Peržiūrėkite lentelės struktūrą.

Dabar mes paaiškinsime aukščiau nurodytus veiksmus pavyzdžiu:

1 veiksmas: sukurkite duomenų bazę

Struktūrinės užklausos kalboje duomenų bazės kūrimas yra pirmasis žingsnis struktūrinių lentelių saugojimui duomenų bazėje.

Norėdami sukurti duomenų bazę, naudokite šią SQL sintaksę:

 CREATE DATABASE Database_Name; 

Tarkime, kad norite sukurti Transporto priemonės duomenų bazėje. Norėdami tai padaryti, struktūrinės užklausos kalboje turite įvesti šią komandą:

 CREATE DATABASE Vehicles; 

2 veiksmas: sukurkite dvi lenteles duomenų bazėje

Dabar, norėdami kurti lenteles savo duomenų bazėje, turite naudoti šią SQL sintaksę:

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

Ši SQL užklausa sukuria Automobiliai_Detalės lentelėje Transporto priemonės duomenų bazėje.

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

Sukuriama tokia užklausa Automobiliai_Kaina_Išsami informacija lentelėje Transporto priemonės duomenų bazė:

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

3 veiksmas: peržiūrėkite lentelės struktūrą prieš įtraukdami svetimą raktą

Sukūrę lentelę ir įterpę duomenis, galite peržiūrėti abiejų lentelių struktūrą įvesdami šią užklausą savo SQL programoje:

 DESC Cars or DESCRIBE Cars ; 

Laukas Tipas NULL Raktas Numatytas Papildomai
Automobilio_numeris INT NE AT NULL auto_increment
Modelis INT Taip - NULL -
Automobilio_pavadinimas Varcharas (20) Taip - NULL
Spalva Varcharas (20) Taip - NULL -

 DESC Cars_Price_Details; 

Laukas Tipas NULL Raktas Numatytas Papildomai
Automobilio_modelis INT Nr AT NULL -
Automobilio_kaina INT Nr - NULL

4 veiksmas: pridėkite svetimą raktą į lentelės stulpelį

Jei norite pridėti užsienio raktą kurdami lentelę, turite naudoti šią CREATE TABLE sintaksę 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) ) ; 

Pavyzdys

Ši užklausa prideda UŽSIENIO RAKTĄ stulpelyje „Modelis“ lentelėje 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 ) ; 

Ši užklausa SQL prisijungia Cars_Details stalas su Automobiliai_Kaina_Išsami informacija lentelę su pašalinio rakto pagalba.

5 veiksmas: peržiūrėkite lentelės struktūrą po svetimo rakto pridėjimo

Norėdami patikrinti įvykdytos užklausos rezultatą 4thžingsnis, SQL turite įvesti šią DESC komandą:

 DESC Cars_Details; 

Laukas Tipas NULL Raktas Numatytas Papildomai
Automobilio_numeris INT Taip PAGRINDINĖ NULL auto_increment
Modelis INT Nr UŽSIENIO NULL -
Automobilio_pavadinimas Varcharas (20) Taip - NULL -
Spalva Varcharas (20) Taip - NULL -
Kaina INT NE - NULL -
Vidutinis INT NE - 0 -

Kaip parodyta aukščiau pateiktoje išvestyje, stulpelis Modelis sukuriamas kaip išorinis raktas.

Pridėkite užsienio raktą į esamą lentelę

Jei norite pridėti išorinį raktą į esamą lentelę, turite naudoti šią ALTER sintaksę SQL:

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

Ši užklausa prideda UŽSIENIO RAKTĄ stulpelyje Modelis, kai duomenų bazės sistemoje jau yra lentelė Cars_Details:

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

Ši ALTER užklausa SQL prisijungia Cars_Details stalas su Automobiliai_Kaina_Išsami informacija lentelę su pašalinio rakto pagalba.

Ištrinkite išorinį raktą iš lentelės

Jei norite pašalinti išorinį raktą iš lentelės stulpelio, turite naudoti šiuos veiksmus ALTER sintaksė SQL:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Ši užklausa pašalina sukurtą UŽSIENIO RAKTĄ iš lentelės Cars_Details stulpelio Modelis:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;