Heim >Datenbank >MySQL-Tutorial >Detaillierte Grafik- und Texterklärung zum Erlernen von MySQL-Fremdschlüsseln

Detaillierte Grafik- und Texterklärung zum Erlernen von MySQL-Fremdschlüsseln

黄舟
黄舟Original
2017-09-08 14:04:171859Durchsuche

1. Es gibt beispielsweise zwei Tabellen „Kategorietabelle“ und „Produkttabelle“. Um anzugeben, zu welcher Kategorie das Produkt gehört, fügen wir normalerweise eine Spalte zur Produkttabelle hinzu, um die Klassifizierungs-CID-Informationen zu speichern. Diese Spalte heißt: Fremdschlüssel.

Zu diesem Zeitpunkt wird die Kategorie der Klassifizierungstabelle als Haupttabelle bezeichnet, cid wird als Primärschlüssel bezeichnet, die Produkte der Produkttabelle werden als Slave-Tabelle bezeichnet und die Kategorie_id wird aufgerufen der Fremdschlüssel.

Merkmale von Fremdschlüsseln: 1) Der Wert des Fremdschlüssels in der Sekundärtabelle ist ein Verweis auf den Primärschlüssel der Primärtabelle

2) Der Typ des Fremdschlüssels in der Die Sekundärtabelle muss mit dem Primärschlüssel der Primärtabelle übereinstimmen.

Der Zweck der Verwendung von Fremdschlüsseln: Gewährleistung der Datenintegrität

2. Erstellen Sie zunächst eine Datenbank web09 in der Eingabeaufforderung und erstellen Sie zwei Tabellen „Kategorie“ und „Produkt“. 🎜 >

Fügen Sie jeweils mehrere Datenelemente ein

eg.insert into category(cid,cname) values('c001','家电');
insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
wie unten gezeigt:

3. Fremdschlüsseleinschränkungen deklarieren

Syntax: alter table add [constraint] [Fremdschlüsselname] aus Tabelle Fremdschlüssel (Fremdschlüsselfeldname aus Tabelle) verweist auf Haupttabelle (Primärschlüssel). der Haupttabelle) ;

[Fremdschlüsselname] wird zum Löschen von Fremdschlüsseleinschränkungen verwendet. Es wird im Allgemeinen empfohlen, mit „_fk“ zu enden

Danach die Einschränkungsdeklaration, wenn ich die Kategorie löschen möchte. Die Daten mit cid=c003 in der Tabelle können nicht gelöscht werden

4. Geben Sie die Einschränkung frei

Syntax : Tabelle ändern Fremdschlüssel aus der Tabelle löschen Fremdschlüsselname

Löschen Sie weiterhin die Daten von cid=c003 in der Kategorietabelle. Sie können

löschen

Hinweis: Fremdschlüssel aus der Tabelle können nicht zur Haupttabelle hinzugefügt werden. Datensätze, die nicht vorhanden sind in

Die Haupttabelle kann keine Datensätze löschen, auf die in der Slave-Tabelle verwiesen wurde.

5. Prinzip der Eins-zu-viele-Tabellenerstellung:

6. Prinzip der Viele-zu-viele-Tabellenerstellung:

Das obige ist der detaillierte Inhalt vonDetaillierte Grafik- und Texterklärung zum Erlernen von MySQL-Fremdschlüsseln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn