Tässä artikkelissa opimme lisäämään vierasavain SQL-tietokannan taulukon sarakkeeseen.
The ULKOINEN AVAIN SQL:ssä käytetään yhdistämään tietokannan kahden taulukon tietue. Yhdessä taulukossa FOREIGN KEY:ksi määritellyn sarakkeen on oltava PRIMARY KEY saman tietokannan toisessa taulukossa.
Voimme helposti lisätä vierasavaimen sarakkeeseen seuraavilla kahdella tavalla:
- Lisää vierasavain käyttämällä Create table -lausetta
- Lisää vierasavain käyttämällä Alter Table -käskyä
Jos haluat lisätä FORIGN KEY:n SQL-taulukon sarakkeeseen, sinun on noudatettava alla olevia vaiheita annetussa järjestyksessä:
- Luo tietokanta järjestelmään.
- Luo kaksi taulukkoa samaan tietokantaan.
- Näytä taulukon rakenne ennen vieraiden avainten lisäämistä.
- Lisää vierasavain taulukkoon.
- Katso taulukon rakenne.
Nyt selitämme yllä olevat vaiheet esimerkillä:
Vaihe 1: Luo tietokanta
Strukturoidussa kyselykielessä tietokannan luominen on ensimmäinen vaihe strukturoitujen taulukoiden tallentamiseksi tietokantaan.
Luo tietokanta käyttämällä seuraavaa SQL-syntaksia:
CREATE DATABASE Database_Name;
Oletetaan, että haluat luoda Ajoneuvot tietokanta. Tätä varten sinun on kirjoitettava seuraava komento Structured Query Language -kieleen:
CREATE DATABASE Vehicles;
Vaihe 2: Luo tietokantaan kaksi taulukkoa
Nyt sinun on käytettävä seuraavaa SQL-syntaksia luodessasi taulukoita tietokannassasi:
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) );
Seuraava SQL-kysely luo Cars_Details taulukossa Ajoneuvot tietokanta.
CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT PRIMARY KEY, Model INT, Cars_Name VARCHAR (20), Colour VARCHAR (20), );
Seuraava kysely luo Cars_Price_Details taulukossa Ajoneuvot tietokanta:
CREATE TABLE Cars_Price_Details ( Model INT NOT NULL PRIMARY KEY, Cars_Price INT NOT NULL );
Vaihe 3: Tarkastele taulukkorakennetta ennen vierasavaimen lisäämistä
Taulukon luomisen ja tietojen lisäyksen jälkeen voit tarkastella molempien taulukoiden rakennetta kirjoittamalla seuraavan kyselyn SQL-sovelluksessasi:
DESC Cars or DESCRIBE Cars ;
Ala | Tyyppi | TYHJÄ | Avain | Oletus | ylimääräistä |
---|---|---|---|---|---|
Auton_numero | INT | EI | AT | TYHJÄ | automaattinen_lisäys |
Malli | INT | Joo | - | TYHJÄ | - |
Auton_nimi | Varchar (20) | Joo | - | TYHJÄ | |
Väri | Varchar (20) | Joo | - | TYHJÄ | - |
DESC Cars_Price_Details;
Ala | Tyyppi | TYHJÄ | Avain | Oletus | ylimääräistä |
---|---|---|---|---|---|
Automalli | INT | Ei | AT | TYHJÄ | - |
Auto_hinta | INT | Ei | - | TYHJÄ |
Vaihe 4: Lisää vierasavain taulukon sarakkeeseen
Jos haluat lisätä vierasavaimen taulukon luomisen yhteydessä, sinun on käytettävä seuraavaa CREATE TABLE -syntaksia SQL:ssä:
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) ) ;
Esimerkki
Seuraava kysely lisää FORIGN KEY:n 'Malli'-sarakkeeseen Cars_Details -taulukossa:
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 ) ;
Tämä SQL-kysely liittyy Cars_Details pöytä kanssa Cars_Price_Details taulukko vierasavaimen avulla.
Vaihe 5: Tarkastele taulukkorakennetta vierasavaimen lisäämisen jälkeen
Voit tarkistaa suoritetun kyselyn tuloksen 4thaskel, sinun on kirjoitettava seuraava DESC-komento SQL: ssä:
DESC Cars_Details;
Ala | Tyyppi | TYHJÄ | Avain | Oletus | ylimääräistä |
---|---|---|---|---|---|
Auton_numero | INT | Joo | ENSISIJAINEN | TYHJÄ | automaattinen_lisäys |
Malli | INT | Ei | ULKOMAAN | TYHJÄ | - |
Auton_nimi | Varchar (20) | Joo | - | TYHJÄ | - |
Väri | Varchar (20) | Joo | - | TYHJÄ | - |
Hinta | INT | EI | - | TYHJÄ | - |
Keskiverto | INT | EI | - | 0 | - |
Kuten yllä olevassa tulosteessa näkyy, Malli-sarake luodaan viiteavaimeksi.
Lisää vierasavain olemassa olevaan taulukkoon
Jos haluat lisätä vierasavaimen olemassa olevaan taulukkoon, sinun on käytettävä seuraavaa ALTER-syntaksia SQL:ssä:
ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name);
Seuraava kysely lisää FORIGN KEY:n Malli-sarakkeeseen, kun Cars_Details-taulukko on jo olemassa tietokantajärjestelmässä:
ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model);
Tämä ALTER-kysely SQL:ssä liittyy Cars_Details pöytä kanssa Cars_Price_Details taulukko vierasavaimen avulla.
Poista vierasavain taulukosta
Jos haluat poistaa vierasavaimen taulukon sarakkeesta, sinun on käytettävä seuraavaa MUUTTAA syntaksi SQL:ssä:
ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name;
Seuraava kysely poistaa luodun FOREIGN KEY:n Cars_Details-taulukon Malli-sarakkeesta:
ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;