MySQL -zelfstudie

MySQL HOME MySQL-intro MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WAAR? MySQL EN, OF, NIET MySQL BESTELLEN DOOR MySQL INVOEGEN IN MySQL NULL-waarden MySQL-UPDATE MySQL VERWIJDEREN MySQL-LIMIET MySQL MIN en MAX MySQL-COUNT, AVG, SUM MySQL LIKE MySQL-jokertekens MySQL IN MySQL TUSSEN MySQL-aliassen MySQL wordt lid MySQL INNER JOIN MySQL LEFT JOIN MySQL RECHTS AANMELDEN MySQL CROSS JOIN Zelf lid worden van MySQL MySQL UNION MySQL GROEP DOOR MySQL HEBBEN MySQL BESTAAT MySQL ELK, ALLES MySQL INSERT SELECT MySQL-CASE MySQL Null-functies MySQL-opmerkingen MySQL-operators

MySQL- database

MySQL DB maken MySQL Drop DB MySQL-tabel maken MySQL-droptabel MySQL Wijzig Tabel MySQL-beperkingen MySQL Niet Null MySQL Uniek MySQL primaire sleutel MySQL-buitenlandse sleutel MySQL-controle MySQL-standaard MySQL-index maken MySQL automatisch verhogen MySQL-datums MySQL-weergaven

MySQL- referenties

MySQL-gegevenstypen MySQL-functies

MySQL- voorbeelden

MySQL-voorbeelden MySQL-quiz MySQL-oefeningen

MySQL FOREIGN KEY -beperking


MySQL FOREIGN KEY-beperking

De FOREIGN KEYbeperking wordt gebruikt om acties te voorkomen die koppelingen tussen tabellen zouden vernietigen.

A FOREIGN KEYis een veld (of verzameling velden) in de ene tabel, dat verwijst naar de PRIMARY KEYin een andere tabel.

De tabel met de externe sleutel wordt de onderliggende tabel genoemd en de tabel met de primaire sleutel wordt de tabel waarnaar wordt verwezen of de bovenliggende tabel.

Bekijk de volgende twee tabellen:

personen tafel

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Bestellingen Tabel:

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Merk op dat de kolom "Persoons-ID" in de tabel "Bestellingen" verwijst naar de kolom "Persoons-ID" in de tabel "Personen".

De kolom "Persoons-ID" in de tabel "Personen" is de kolom in de tabel PRIMARY KEY"Personen".

De kolom "Persoons-ID" in de tabel "Bestellingen" is een FOREIGN KEYin de tabel "Bestellingen".

De FOREIGN KEYbeperking voorkomt dat ongeldige gegevens worden ingevoegd in de refererende-sleutelkolom, omdat het een van de waarden in de bovenliggende tabel moet zijn.



BUITENLANDSE SLEUTEL op CREATE TABLE

De volgende SQL creëert een FOREIGN KEYin de kolom "PersonID" wanneer de tabel "Orders" wordt gemaakt:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

Gebruik de volgende SQL-syntaxis om het benoemen van een beperking toe te staan ​​en om een beperking voor meerdere kolommen FOREIGN KEYte definiëren : FOREIGN KEY

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

BUITENLANDSE SLEUTEL op ALTER TABLE

Gebruik de volgende SQL om een FOREIGN KEYbeperking te maken voor de kolom "Persoons-ID" wanneer de tabel "Orders" al is gemaakt:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Gebruik de volgende SQL-syntaxis om het benoemen van een beperking toe te staan ​​en om een beperking voor meerdere kolommen FOREIGN KEYte definiëren : FOREIGN KEY

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

DROP een BUITENLANDSE SLEUTELbeperking

FOREIGN KEYGebruik de volgende SQL om een beperking te verwijderen:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;