MySQL lernen: Fünf Hauptbeschränkungen von Datenbanktabellen im Detail für Anfänger erklärt

MySQL lernen: Fünf Hauptbeschränkungen von Datenbanktabellen im Detail für Anfänger erklärt

1. Constraint-Konzepte und Klassifizierung

1.1 Das Konzept der Einschränkungen:

Begrenzen Sie die Daten in der Tabelle, um die Richtigkeit, Gültigkeit und Integrität der Daten sicherzustellen

1.2 Klassifizierung von Einschränkungen

  • 1. Primärschlüsseleinschränkung ( Primärschlüssel: Stellen Sie sicher, dass das Feld nicht leer und eindeutig ist. Eine Tabelle kann nur einen Primärschlüssel haben, der die eindeutige Kennung des Felds in der Tabelle ist.
  • 2. Nicht-Null-Einschränkung ( not null): Stellen Sie sicher, dass das Feld nicht leer sein kann
  • 3. Einzigartige Einschränkung ( unique): Stellen Sie sicher, dass das Feld eindeutig ist, aber null sein kann
  • 4. Fremdschlüsseleinschränkungen ( Fremdschlüssel: Der Primärschlüssel oder eindeutige Schlüssel einer anderen Tabelle, der in einer Tabelle vorhanden ist, wird als Fremdschlüssel dieser Tabelle bezeichnet.
  • 5. Standardbeschränkungen ( Standard+Standardwert): wird verwendet, um sicherzustellen, dass das Feld einen Standardwert hat (in Anführungszeichen eingeschlossen)

2. Hinzufügen und Entfernen von fünf Einschränkungen

2.1 Sechs Möglichkeiten zum Hinzufügen von Einschränkungen

1. Fügen Sie beim Erstellen einer Tabelle eine nicht leere Einschränkung hinzu ( Als Einschränkung auf Spaltenebene hinzugefügt)

Tabelle erstellen + Tabellenname(
Spaltenname, Datentyp + Einschränkungsname
)

2. Fügen Sie beim Erstellen einer Tabelle eine Nicht-Null-Einschränkung hinzu ( Als Einschränkung auf Tabellenebene hinzugefügt)

Tabelle erstellen Tabellenname(
Datentyp des Spaltennamens,
...
Datentyp des Spaltennamens,
(Einschränkung + Alias ​​(geben Sie der hinzugefügten Einschränkung einfach einen Namen)) Einschränkungsname (entsprechender Feldname)
)

3. Beim Ändern des Spaltennamens

Tabelle ändern + Tabellenname + ändern (Spalte) + alter Spaltenname neuer Spaltenname neuer Spaltenname Typ + Einschränkung

4. Beim Ändern des Datentyps einer Spalte

Tabelle ändern + Tabellenname + ändern + (Spalte) + Spaltenname und Spaltentypbeschränkungen

5. Sie können beim Hinzufügen neuer Spalten Einschränkungen hinzufügen

Tabelle ändern + Tabellenname + hinzufügen + (Spalte) + neuer Spaltenname + neuer Spaltenname Typ + Einschränkung

6. Fremdschlüsselspezifisch

alter table + table name + add constraint Fremdschlüsselname (Sie können dem Fremdschlüssel einen beliebigen Namen geben) + Fremdschlüssel (Fremdschlüsselfeldname) verweist auf Haupttabellenname (das Feld, das mit der Haupttabelle verknüpft werden soll)

2.2 Drei Möglichkeiten zum Löschen von Einschränkungen

1. Keine Einschränkungen beim Ändern von Spaltennamen

alter table + table name + change (column) + alter Spaltenname neuer Spaltenname Typ des neuen Spaltennamens

2. Keine Einschränkungen beim Ändern des Datentyps einer Spalte

Tabelle ändern + Tabellenname + ändern + (Spalte) + Spaltenname und Spaltentyp

3. Verwenden Sie Drop, um bestimmte Einschränkungen zu löschen

Tabelle ändern + Tabellenname + Index/Fremdschlüssel/Primärschlüssel löschen + Einschränkungsname

Hinweis: Sehen Sie sich die Namen der Einschränkungen in der Tabelle an:

Index anzeigen von + Tabellenname

2.3 Hinzufügen und Löschen von Methoden entsprechend den fünf Haupteinschränkungen (Seriennummern entsprechen 2.1 und 2.2)

1. Nicht-Null-Einschränkung ( nicht null)

  • Entsprechende Additionsmethode: 1 3 4 5
  • Entsprechende Löschmethode: 1 2

2. Einzigartige Einschränkung ( einzigartig)

  • Entsprechende Additionsmethode: 1 2 3 4 5
  • Entsprechende Löschmethode: 1 2 3 (entspricht der dritten Indexoption)

3. Standardbeschränkungen ( Standard)

  • Entsprechende Additionsmethode: 1 3 4 5
  • Entsprechende Löschmethode: 1 2

4. Primärschlüssel ( Primärschlüssel

  • Entsprechende Additionsmethode: 1 2 3 4 5
  • Entsprechende Löschmethode: 3 (Beachten Sie, dass nach der Primärschlüsseloption des dritten Typs der Name ohne Einschränkungen hinzugefügt wird, da in einer Tabelle nur ein Primärschlüssel vorhanden sein kann.)

5. Fremdschlüssel ( Fremdschlüssel)

  • Entsprechende Additionsmethode: 2 6
  • Entsprechende Löschmethode: 3 (entspricht der dritten Fremdschlüsseloption)

Schauen wir uns eine Mitarbeitertabelle an (die Felder sind Mitarbeiternummer, Name, Alter, Abteilung und Abteilungsstandort):

Bildbeschreibung hier einfügen

Wir können feststellen, dass es redundante Teile gibt, d. h. die Forschungs- und Entwicklungsabteilung entspricht Guangzhou und die Verkaufsabteilung entspricht Shenzhen. Es besteht keine Notwendigkeit, sie so oft zu schreiben. Tatsächlich können sie in zwei Tabellen aufgeteilt werden, um Redundanz zu vermeiden. Die erste Tabelle speichert Mitarbeiterinformationen und die andere speichert Abteilungsinformationstabelle 1 (Mitarbeitertabelle Mitarbeiter):

Bildbeschreibung hier einfügen

Tabelle 2 (Abteilungstabelle):

Bildbeschreibung hier einfügen

Die IDs beider Tabellen sind hier Primärschlüssel

Hier gibt es jedoch ein Problem. Wir können jede beliebige Zeile in der Abteilungstabelle löschen, z. B. die Zeile mit der ID = 1. Nach dem Löschen können die Mitarbeiter mit der ID = 1 in Tabelle 1 ihre Abteilungsinformationen nicht mehr finden. Daher können wir Fremdschlüssel verwenden, um dieses Problem zu lösen.

Wir können beim Erstellen der Tabelle angeben, dass dep_id ein Fremdschlüssel ist, und ihn mit dem Primärschlüssel id der Abteilung verknüpfen

Anweisungsformat (obwohl dies die zweite Methode ist, d. h. das Hinzufügen eines Fremdschlüssels mit Einschränkungen auf Tabellenebene, ist die Syntax anders):

Tabelle erstellen Tabellenname(
Datentyp des Spaltennamens,
...
Datentyp des Spaltennamens,
(Einschränkung + Alias ​​(geben Sie der hinzugefügten Einschränkung einfach einen Namen)) + Fremdschlüssel (Feldname) + Referenzen + Haupttabelle (das entsprechende Feld der Haupttabelle)
)

Für dieses Beispiel können Sie schreiben:

Tabelle „Mitarbeiter“ erstellen (
id int Primärschlüssel,
sname varchar(5),
Alter int,
dep_id int,
Einschränkung aaa Fremdschlüssel (dep_id) Referenzen Abteilung (id)
)

Nach dem Hinzufügen des Fremdschlüssels können wir keine Zeile in der Abteilungstabelle löschen. Außerdem können wir dep_id nicht mit einer anderen Zahl als 1 oder 2 füllen, wenn wir neue Mitarbeiterinformationen in employee hinzufügen.

2.4 Zusammenfassung zum Erstellen von Einschränkungen

Beim Erstellen einer Tabelle werden beim Hinzufügen von Einschränkungen auf Spaltenebene nur die folgenden Elemente unterstützt: Standard, nicht leer, Primärschlüssel, eindeutig. Beim Hinzufügen von Einschränkungen auf Tabellenebene werden nur die folgenden Elemente unterstützt: Primärschlüssel, eindeutig, Fremdschlüssel.

2.5 Der Unterschied zwischen Primärschlüssel und eindeutigem Schlüssel

Es kann höchstens einen Primärschlüssel und mehrere eindeutige Schlüssel geben. Zwei Spalten dürfen einen Primärschlüssel und einen eindeutigen Schlüssel bilden.

3. Spalte automatisch inkrementieren

3.1 Konzept

Wenn eine Spalte einen numerischen Typ hat, verwenden Sie auto_increment, um eine automatische Werterhöhung zu erreichen (normalerweise mit dem Primärschlüssel verwendet).

3.2 Fügen Sie beim Erstellen einer Tabelle eine Primärschlüsseleinschränkung hinzu und vervollständigen Sie das Beispiel der Selbstinkrementierung des Primärschlüssels

Format:

Tabelle erstellen Tabellenname(
Spaltenname Datentyp Primärschlüssel + Auto_Increment
)

Zum Beispiel:
Wir erstellen eine Studententabelle mit Studenten-ID und Namen und erstellen eine Anweisung basierend auf der Studenten-ID:

Tabelle „Student“ erstellen (
ID int Primärschlüssel auto_increment,
sname char(4)
)

Wenn wir zu diesem Zeitpunkt Daten in der Tabelle haben;

Bildbeschreibung hier einfügen

Bei einer erneuten Dateneingabe verzichten wir auf die Angabe der Matrikelnummer.

in Studentenwert einfügen (null, „Li Si“)

Als ich die Tabelle noch einmal überprüfte, wurde die Matrikelnummer basierend auf dem Auto-Increment-Wert automatisch zu unserer Tabelle hinzugefügt:

Bildbeschreibung hier einfügen

3.3 Hinzufügen und Entfernen von Selbstwachstum

1. Hinzufügen (das obige Hinzufügen zum Zeitpunkt der Erstellung ist eine Art)

Tabelle ändern + Tabellenname + Spalte ändern + Spaltenname Typbeschränkung + AUTO_INCREMENT

2. Löschen

Tabelle ändern + Tabellenname + Spalte ändern Spaltenname Typ

3.4 Einstellen der Auto-Inkrement-Schrittweite

Der Startwert der automatischen Inkrementierung ist 1 und der Startwert der Schrittlänge ist 1
Der Startwert kann nicht geändert werden, die Schrittweite kann jedoch mit show VARIABLES LIKE "%auto_increment%" geändert werden.
Überprüfen Sie den Namen des entsprechenden Schritts und verwenden Sie dann set step, um den Namen = den einzustellenden Schritt darzustellen

Oben finden Sie den detaillierten Inhalt des MySQL-Lernens der fünf Haupteinschränkungen von Datenbanktabellen für Anfänger. Weitere Informationen zu den fünf Haupteinschränkungen von MySQl finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So erstellen und löschen Sie Fremdschlüsseleinschränkungen in MySQL
  • Spezielle Methode zum Hinzufügen von Fremdschlüsseleinschränkungen in MySQL
  • MySQL-Datenbankbeschränkungen und Prinzipien des Datentabellenentwurfs
  • Detaillierte Erklärung, ob die MySQL-Datenbank Fremdschlüsseleinschränkungen verwenden soll
  • Detaillierte Erläuterung der sechs gängigen Einschränkungstypen in MySQL
  • Eine kurze Diskussion über den Unterschied zwischen MySQL-Primärschlüsseleinschränkung und eindeutiger Einschränkung
  • MySQL-Einschränkungen - Super detaillierte Erklärung
  • Erläuterung des MySQL-Nicht-Null-Einschränkungsfalls
  • So legen Sie Einschränkungen für Tabellen in einer MySQL-Datenbank fest

<<:  Praktische Funktionsweise der Verwendung beliebiger Schriftarten auf einer Webseite mit Demonstration

>>:  So legen Sie den Fokus auf HTML-Elemente fest

Artikel empfehlen

So starten und starten Sie nginx unter Linux neu

Nginx (Engine x) ist ein leistungsstarker HTTP- u...

Einführung in die Verwendung der unbestimmten Eigenschaft des Kontrollkästchens

Wenn wir das Dialogfeld „Ordnereigenschaften“ in W...

Eine vollständige Anleitung zur Konfiguration von Linux-Umgebungsvariablen

Konfiguration der Linux-Umgebungsvariablen Beim A...

Zwei Möglichkeiten zur Visualisierung von ClickHouse-Daten mit Apache Superset

Apache Superset ist ein leistungsstarkes BI-Tool,...

Detaillierte Beispiele zur Verwendung der Box-Shadow-Eigenschaft in CSS3

CSS enthält viele Attribute. Manche Attribute wer...

5 Möglichkeiten, Ihre JavaScript-Codebasis sauberer zu machen

Inhaltsverzeichnis 1. Verwenden Sie Standardparam...

Eine vorläufige Studie zum Vue-Unit-Testing

Inhaltsverzeichnis Vorwort Warum Unit-Tests einfü...

Lösung für den Konflikt zwischen Nginx und Backend-Port

Frage: Bei der Entwicklung des Alice-Verwaltungss...

Detaillierte Erklärung der Verwendung des Linux-Befehls lsof

lsof (List Open Files) ist ein Tool zum Anzeigen ...

Grafisches Tutorial zur Installation und Konfiguration von CenOS6.7 mysql 8.0.22

CenOS6.7 installiert MySQL8.0.22 (empfohlene Samm...

Docker installiert Redis und führt den visuellen Client für den Betrieb ein

1 Einleitung Redis ist eine leistungsstarke, auf ...

Implementierung von Platzhaltern und Escape-Zeichen in der Linux-Befehlszeile

Wenn wir Stapeloperationen für einen Dateityp aus...