MySQL -Tutorial

MySQL-HOME MySQL-Einführung MySQL-RDBMS

MySQL- SQL

MySQL-SQL MySQL-SELECT MySQL WO MySQL UND, ODER, NICHT MySQL ORDER BY MySQL EINFÜGEN IN MySQL-NULL-Werte MySQL-UPDATE MySQL LÖSCHEN MySQL-GRENZE MySQL-MIN und -MAX MySQL ANZAHL, DURCHSCHNITT, SUMME MySQL WIE MySQL-Wildcards MySQL-EIN MySQL ZWISCHEN MySQL-Aliase MySQL-Joins MySQL INNER JOIN MySQL-LINKSVERBINDUNG MySQL RIGHT JOIN MySQL CROSS JOIN MySQL-Self-Join MySQL-UNION MySQL-GRUPPE NACH MySQL HABEN MySQL EXISTIERT MySQL ALLE, ALLE MySQL EINFÜGEN AUSWÄHLEN MySQL-FALL MySQL-Null-Funktionen MySQL-Kommentare MySQL-Operatoren

MySQL- Datenbank

MySQL-DB erstellen MySQL-Drop-DB MySQL-Tabelle erstellen MySQL-Drop-Tabelle MySQL-Änderungstabelle MySQL-Einschränkungen MySQL nicht Null MySQL-einzigartig MySQL-Primärschlüssel MySQL-Fremdschlüssel MySQL-Check MySQL-Standard MySQL-Index erstellen Automatisches MySQL-Inkrement MySQL-Daten MySQL-Ansichten

MySQL- Referenzen

MySQL-Datentypen MySQL-Funktionen

MySQL- Beispiele

MySQL-Beispiele MySQL-Quiz MySQL-Übungen

MySQL FOREIGN KEY- Einschränkung


MySQL FOREIGN KEY-Einschränkung

Die FOREIGN KEYEinschränkung wird verwendet, um Aktionen zu verhindern, die Verknüpfungen zwischen Tabellen zerstören würden.

A FOREIGN KEYist ein Feld (oder eine Sammlung von Feldern) in einer Tabelle, das auf das PRIMARY KEYin einer anderen Tabelle verweist.

Die Tabelle mit dem Fremdschlüssel wird als untergeordnete Tabelle bezeichnet, und die Tabelle mit dem Primärschlüssel wird als referenzierte oder übergeordnete Tabelle bezeichnet.

Sehen Sie sich die folgenden beiden Tabellen an:

Personentabelle

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

Bestelltabelle

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

Beachten Sie, dass die Spalte „PersonID“ in der Tabelle „Bestellungen“ auf die Spalte „PersonID“ in der Tabelle „Personen“ verweist.

Die Spalte "PersonID" in der Tabelle "Personen" ist die PRIMARY KEYin der Tabelle "Personen".

Die Spalte "PersonID" in der Tabelle "Bestellungen" ist eine FOREIGN KEYin der Tabelle "Bestellungen".

Die FOREIGN KEYEinschränkung verhindert, dass ungültige Daten in die Fremdschlüsselspalte eingefügt werden, da es sich um einen der in der übergeordneten Tabelle enthaltenen Werte handeln muss.



FREMDSCHLÜSSEL auf CREATE TABLE

Die folgende SQL erstellt eine FOREIGN KEYin der Spalte „PersonID“, wenn die Tabelle „Orders“ erstellt wird:

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

Verwenden Sie die folgende SQL-Syntax, um die Benennung einer FOREIGN KEYEinschränkung zu ermöglichen und eine Einschränkung für mehrere Spalten zu definieren : 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)
);

FREMDSCHLÜSSEL auf ALTER TABLE

Verwenden Sie die folgende SQL, um eine FOREIGN KEYEinschränkung für die Spalte „PersonID“ zu erstellen, wenn die Tabelle „Orders“ bereits erstellt wurde:

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

Verwenden Sie die folgende SQL-Syntax, um die Benennung einer FOREIGN KEYEinschränkung zu ermöglichen und eine Einschränkung für mehrere Spalten zu definieren : FOREIGN KEY

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

DROP a FOREIGN KEY Constraint

Um eine FOREIGN KEYEinschränkung zu löschen, verwenden Sie die folgende SQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;