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

Ubuntu-Grundlagen-Tutorial: apt-get-Befehl

Vorwort Der Befehl apt-get ist ein Paketverwaltun...

Javascript implementiert einfache Navigationsleiste

In diesem Artikel wird der spezifische Code von J...

So führen Sie Tomcat-Quellcode im Maven-Modus aus

Vorwort Kürzlich habe ich den Startvorgang von To...

Linux verwendet if, um zu bestimmen, ob ein Verzeichnis existiert.

So verwenden Sie „if“ in Linux, um festzustellen,...

CSS3 zum Erzielen eines dynamischen Hintergrundverlaufseffekts

Beim Erlernen von CSS3 geht es mehr darum, sich m...

Nodejs implementiert Intranet-Penetrationsdienst

Inhaltsverzeichnis 1. Proxy im LAN 2. Intranet-Pe...

mysql5.6.zip-Format komprimierte Version Installations-Grafik-Tutorial

Vorwort: MySQL ist ein relationales Datenbankverw...

Lösung für vergessenes Linux MySQL-Root-Passwort

Wenn Sie sich bei der Verwendung der MySQL-Datenb...

CocosCreator Skelettanimation Drachenknochen

CocosCreator Version 2.3.4 Drachenknochenanimatio...

js, um die Produktionsmethode des Karussells zu realisieren

In diesem Artikel wird der spezifische Code für j...

Detaillierte Erklärung der Top-Befehlsausgabe in Linux

Vorwort Ich glaube, jeder hat den Befehl top unte...

So installieren Sie Nginx in Docker

Installieren Sie Nginx auf Docker Nginx ist ein l...

MySQL-Tutorial: Datendefinitionssprache (DDL), Beispiel, ausführliche Erklärung

Inhaltsverzeichnis 1. Einführung in die Grundfunk...