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

Drei Prinzipien effizienten Navigationsdesigns, die Webdesigner kennen müssen

Das Entwerfen der Navigation für eine Website ist...

vue2.x-Konfiguration von vue.config.js zur Projektoptimierung

Inhaltsverzeichnis Vorwort vue.config.js-Konfigur...

So verwenden Sie das Datums-Plugin vue-bootstrap-datetimepicker in vue-cli 3

Nachfragehintergrund In letzter Zeit plane ich, V...

MySQL Flush-List und Flushing-Mechanismus für Dirty Pages

1. Überprüfung Der Pufferpool wird nach dem Start...

MySql-Freigabe der Nullfunktionsnutzung

Funktionen zu Null in MySql IFNULL ISNULL NULLIF ...

Was ist Nginx-Lastausgleich und wie wird er konfiguriert?

Was ist Lastenausgleich? Der Lastausgleich wird h...

Praktische Methode zum Löschen einer Zeile in einer MySql-Tabelle

Zunächst müssen Sie bestimmen, welche Felder oder...

jQuery realisiert den Scroll-Effekt von Tabellenzeilendaten

In diesem Artikelbeispiel wird der spezifische Co...

Vue realisiert die Funktion zum Hochladen von Fotos auf den PC

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung eines einfachen Karussells auf Basis von JavaScript

In diesem Artikel wird der spezifische JavaScript...