MySQL-Einschränkungstypen und Beispiele

MySQL-Einschränkungstypen und Beispiele

Zwang

  • Einschränkungen gewährleisten Datenintegrität und -konsistenz
  • Einschränkungen werden in Einschränkungen auf Tabellenebene und Einschränkungen auf Spaltenebene unterteilt.
  • Zu den Einschränkungstypen gehören: NOT NULL (Nicht-Leer-Einschränkung), PRIMARY KEY (Primärschlüsseleinschränkung), UNIQUE KEY (eindeutige Einschränkung), DEFAULT (Standardeinschränkung), FOREIGN (Fremdschlüsseleinschränkung)

1. Primärschlüsseleinschränkung

  • PRIMÄRSCHLÜSSEL
  • Jede Datentabelle kann nur einen Primärschlüssel haben
  • Der Primärschlüssel stellt die Eindeutigkeit des Datensatzes sicher und der Wert des Primärschlüssels wird nicht wiederholt
  • Der Primärschlüssel ist automatisch NOT NULL

Erstellen Sie beispielsweise eine Studententabelle und legen Sie die Studentennummer als Primärschlüssel fest. Nachdem Sie die Tabelle erstellt haben, können Sie die Tabellenstruktur über SHWO COLUMNS FROM student anzeigen.

CREATE TABLE Student (
id int Primärschlüssel,
stu_name varchar(20)
);

2. Einzigartige Einschränkung

  • EINZIGARTIGER SCHLÜSSEL
  • Die Unique-Einschränkung kann die Einzigartigkeit des Datensatzes sicherstellen
  • Das eindeutige Einschränkungsfeld kann einen Nullwert (NULL) haben.
  • Jede Datentabelle kann mehrere eindeutige Einschränkungen haben

Erstellen Sie beispielsweise eine Lehrertabelle mit einem automatisch inkrementierten ID-Feld und einem eindeutigen Feld „Tea_Name“.

CREATE TABLE Lehrer(
ID int AUTO_INCREMENT PRIMARY KEY,
tea_name varchar(20) NICHT NULL EINZIGARTIGER SCHLÜSSEL
);

3. Standardbeschränkungen

  • STANDARD
  • Wenn beim Einfügen eines Datensatzes dem Feld kein Wert explizit zugewiesen wird, wird automatisch ein Standardwert zugewiesen.

Erstellen Sie beispielsweise eine Kurstabelle mit einer Standardunterrichtszeit von 40 Minuten.

CREATE TABLE-Kurs (
ID int AUTO_INCREMENT PRIMARY KEY,
cou_name varchar(20) NICHT NULL EINZIGARTIGER SCHLÜSSEL,
Zeit int DEFAULT 40
);
INSERT INTO course(cou_name) values('Chinesisch');

4. Nicht Null-Einschränkung

  • NICHT NULL
  • Erzwingt, dass eine Spalte keinen NULL-Wert haben kann, und Einschränkungen erzwingen, dass ein Feld immer einen Wert enthält.
  • Dies bedeutet, dass Sie keine neuen Datensätze einfügen oder Datensätze aktualisieren können, ohne den Feldern Werte hinzuzufügen.

Erstellen Sie beispielsweise beim Erstellen der Tabelle „Personen“ Nicht-Null-Einschränkungen in der Spalte „ID“ und der Spalte „Name“:

Tabelle „Personen“ erstellen (
id int nicht NULL,
p_name varchar(20) ungleich null, 
Abteilung varchar(20),
Adresse varchar(20),
telNum varchar(20)
)
DESC-Personen;

5. Fremdschlüsseleinschränkungen

  • Fremdschlüssel
  • Aufrechterhaltung der Datenkonsistenz und -integrität
  • Implementieren Sie eine 1 zu 1 oder 1 zu n Beziehung

1. Die übergeordnete und die untergeordnete Tabelle müssen dieselbe Speicher-Engine verwenden. Temporäre Tabellen sind verboten.
2. Die Speicher-Engine der Datentabelle kann nur InnoDB sein
3. Fremdschlüsselspalten und Referenzspalten müssen ähnliche Datentypen haben. Die Länge der Zahlen und das Vorhandensein eines Vorzeichenbits müssen gleich sein, die Länge der Zeichen kann unterschiedlich sein.
4. Für Fremdschlüsselspalten und Referenzspalten müssen Indizes erstellt werden. Wenn für die Fremdschlüsselspalte kein Index vorhanden ist, erstellt MySQL automatisch einen.

CREATE TABLE Schule(
ID int AUTO_INCREMENT PRIMARY KEY,
sname varchar(20) NICHT NULL
);
Tabelle erstellen Student2 (
ID int AUTO_INCREMENT PRIMARY KEY,
sid int,
Fremdschlüssel (sid) Referenzen Schule (id)
);

Referenzielle Operationen auf Fremdschlüsseleinschränkungen

  • CASCADE: Löschen oder aktualisieren Sie aus der übergeordneten Tabelle und löschen oder aktualisieren Sie automatisch übereinstimmende Zeilen in der untergeordneten Tabelle.
  • Wenn Daten aus der referenzierten Spalte in der übergeordneten Tabelle gelöscht werden, wird die Zeile mit den entsprechenden Daten aus der untergeordneten Tabelle gelöscht.
Tabelle erstellen Student3 (
ID int AUTO_INCREMENT PRIMARY KEY,
sid int,
FOREIGN KEY (sid) REFERENZEN Schule (id) ON DELETE CASCADE
);
  • SET NULL: Löscht oder aktualisiert Zeilen aus der übergeordneten Tabelle und setzt die Fremdschlüsselspalten der untergeordneten Tabelle auf NULL. Wenn diese Option verwendet wird, müssen Sie sicherstellen, dass die Spalten der untergeordneten Tabelle nicht NOT NULL angeben.
  • Löschen Sie Daten aus der übergeordneten Tabelle und setzen Sie den Verweis in der untergeordneten Tabelle auf NULL
  • RESTRICT: Lösch- oder Aktualisierungsvorgänge an der übergeordneten Tabelle ablehnen
  • KEINE AKTION: Ein Standard-SQL-Schlüsselwort, das in MySQL RESTRICT entspricht.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Beispiels für MySQL-Integritätsbeschränkungen
  • MySQL-Einschränkungen - Super detaillierte Erklärung
  • Detaillierte Erläuterung der sechs gängigen Einschränkungstypen in MySQL
  • Beispiele für Dateneinschränkungen basierend auf einer MySQL-Datenbank und Einführung in fünf Integritätseinschränkungen
  • MySQL lernen: Fünf Hauptbeschränkungen von Datenbanktabellen im Detail für Anfänger erklärt

<<:  Mehrere Möglichkeiten zum Wechseln zwischen Vue Tab und Cache-Seiten

>>:  So verwenden Sie die Markdown-Editor-Komponente in Vue3

Artikel empfehlen

Detaillierte Erklärung der Zeit- und Datumsverarbeitung von moment.js

Konvertierung des Zeitformats von Montag auf Sonn...

svg+css oder js zum Erstellen eines Tick-Animationseffekts

Mein Chef hatte mich gebeten, ein Programm zu ers...

14 Techniken für leistungsstarke Websites

Original : http://developer.yahoo.com/performance...

Detaillierte Erklärung der Verwendung und Funktion des MySQL-Cursors

[Verwendung und Funktion des MySQL-Cursors] Beisp...

Zusammenfassung der Linux-Benutzergruppen und -Berechtigungen

Benutzergruppen Unter Linux muss jeder Benutzer e...

Details zum JavaScript-Abschluss

Inhaltsverzeichnis 1. Was ist ein Abschluss? 2. D...

Tutorial zum Konfigurieren und Verwenden des i3-Fenstermanagers unter Linux

In diesem Artikel zeige ich Ihnen, wie Sie i3 auf...

Erfahren Sie in 3 Minuten, wie Sie den Supervisor Watchdog verwenden

Software- und Hardwareumgebung centos7.6.1810 64b...

Analyse des Consul-Konfigurationsprozesses für die Docker-Bereitstellung

Befehl ausführen docker run -d --name consul -p 8...