MySQL-Fremdschlüssel entfernen und löschen
MySQL-Fremdschlüssel und Löschungen
MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem, das weit verbreitet und sehr leistungsstark ist. In MySQL sind Fremdschlüssel ein sehr wichtiges Konzept und spielen eine wichtige Rolle beim Datenbankdesign und der Datenpflege. In diesem Artikel stellen wir Fremdschlüssel in MySQL vor und zeigen, wie man Fremdschlüssel zum Löschen von Daten in der Datenbank verwendet.
MySQL-Fremdschlüssel
Fremdschlüssel bezieht sich auf das Festlegen eines Schlüssels in einer Datenbanktabelle, der auf den Primärschlüssel einer anderen Tabelle verweist. Wenn eine Tabelle einen Fremdschlüssel hat, muss der Haupttabellendatensatz vorhanden sein, der jedem qualifizierten Datensatz in dieser Tabelle entspricht, andernfalls können verwandte Vorgänge nicht ausgeführt werden. Dieser Vorgang stellt die Integrität und Konsistenz der Daten zwischen Tabellen sicher.
Wir veranschaulichen das Konzept von Fremdschlüsseln anhand des folgenden Beispiels:
Tabelle Person erstellen:
CREATE TABLE person ( id INT PRIMARY KEY, name VARCHAR(20) );
Tabellenkarte erstellen:
CREATE TABLE card ( id INT PRIMARY KEY, person_id INT, card_no VARCHAR(20), FOREIGN KEY(person_id) REFERENCES person(id) );
In der Tabellenkarte ist person_id ein Fremdschlüssel, der auf das ID-Feld in der Tabelle Person verweist. Der Zweck dieses Fremdschlüssels besteht darin, sicherzustellen, dass die person_id in jedem Kartendatensatz in der Personentabelle vorhanden ist, und so Konsistenz und Integrität sicherzustellen.
Verwenden Sie Fremdschlüssel zum Löschen
Wenn wir in der Datenbank löschen und eine Beziehung zwischen Tabellen besteht, müssen wir sicherstellen, dass der Löschvorgang die Integrität und Konsistenz der Datenbank nicht zerstört. In MySQL kann dies mithilfe von Fremdschlüsseln erreicht werden.
Wenn beim Ausführen eines Löschvorgangs der zu löschende Datensatz in einer Tabelle vorhanden ist, die einem Fremdschlüssel zugeordnet ist, müssen Sie zuerst den Datensatz in der zugehörigen Tabelle und dann den Datensatz in dieser Tabelle löschen. Dieser Vorgang kann mit ON DELETE CASCADE und ON DELETE SET NULL erreicht werden.
ON DELETE CASCADE funktioniert durch automatisches Klassifizieren und Löschen verwandter Datensätze in dieser Tabelle, wenn Datensätze in der zugehörigen Tabelle gelöscht werden. Beispiel:
CREATE TABLE person ( id INT PRIMARY KEY, name VARCHAR(20) ); CREATE TABLE card ( id INT PRIMARY KEY, person_id INT, card_no VARCHAR(20), FOREIGN KEY(person_id) REFERENCES person(id) ON DELETE CASCADE ); INSERT INTO person(id, name) VALUES(1, 'Tom'); INSERT INTO card(id, person_id, card_no) VALUES(1, 1, '123456'); DELETE FROM person WHERE id = 1;
Im obigen Beispiel haben wir zuerst einen Datensatz in die Personentabelle und dann einen Datensatz in die Kartentabelle eingefügt. Dieser Datensatz verweist auf den Datensatz mit der ID 1 in der Personentabelle. Schließlich haben wir die DELETE-Anweisung verwendet, um den Datensatz mit der ID 1 in der Personentabelle zu löschen. Durch diesen Löschvorgang werden auch die zugehörigen Datensätze in der Kartentabelle automatisch gelöscht.
Bei der Operation ON DELETE SET NULL wird der zugehörige Datensatz in dieser Tabelle auf NULL gesetzt, wenn der Datensatz in der zugehörigen Tabelle gelöscht wird. Beispiel:
CREATE TABLE person ( id INT PRIMARY KEY, name VARCHAR(20) ); CREATE TABLE card ( id INT PRIMARY KEY, person_id INT, card_no VARCHAR(20), FOREIGN KEY(person_id) REFERENCES person(id) ON DELETE SET NULL ); INSERT INTO person(id, name) VALUES(1, 'Tom'); INSERT INTO card(id, person_id, card_no) VALUES(1, 1, '123456'); DELETE FROM person WHERE id = 1;
Im obigen Beispiel haben wir zuerst einen Datensatz in die Personentabelle und dann einen Datensatz in die Kartentabelle eingefügt. Dieser Datensatz verweist auf den Datensatz mit der ID 1 in der Personentabelle. Schließlich haben wir die DELETE-Anweisung verwendet, um den Datensatz mit der ID 1 in der Personentabelle zu löschen. Durch diesen Löschvorgang wird die person_id im zugehörigen Datensatz in der Kartentabelle automatisch auf NULL gesetzt.
Zusammenfassung
MySQL-Fremdschlüssel sind ein sehr wichtiges Konzept und spielen eine wichtige Rolle beim Datenbankdesign und der Datenpflege. Durch die Verwendung von Fremdschlüsseln kann die Integrität und Konsistenz der Daten zwischen Tabellen sichergestellt werden. Wenn Sie einen Löschvorgang ausführen, können Sie ON DELETE CASCADE und ON DELETE SET NULL verwenden, um die Zuordnung zwischen Tabellen zu handhaben und so die Datenbankkonsistenz sicherzustellen.
Das obige ist der detaillierte Inhalt vonMySQL-Fremdschlüssel entfernen und löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

Die Volltext-Suchfunktionen von InnoDB sind sehr leistungsfähig, was die Effizienz der Datenbankabfrage und die Fähigkeit, große Mengen von Textdaten zu verarbeiten, erheblich verbessern kann. 1) InnoDB implementiert die Volltext-Suche durch invertierte Indexierung und unterstützt grundlegende und erweiterte Suchabfragen. 2) Verwenden Sie die Übereinstimmung und gegen Schlüsselwörter, um den Booleschen Modus und die Phrasesuche zu unterstützen. 3) Die Optimierungsmethoden umfassen die Verwendung der Word -Segmentierungstechnologie, die regelmäßige Wiederaufbauung von Indizes und die Anpassung der Cache -Größe, um die Leistung und Genauigkeit zu verbessern.

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.
