MySQL-Primärschlüssel

Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie mithilfe der MySQL-Primärschlüsseleinschränkung den Primärschlüssel für eine Tabelle erstellen.

Einführung in den MySQL-Primärschlüssel

Ein Primärschlüssel ist eine Spalte oder eine Reihe von Spalten, die jede Zeile in der Tabelle eindeutig identifizieren. Der Primärschlüssel folgt diesen Regeln:

  • Ein Primärschlüssel muss eindeutige Werte enthalten. Wenn der Primärschlüssel aus mehreren Spalten besteht, muss die Wertekombination in diesen Spalten eindeutig sein.
  • Eine Primärschlüsselspalte darf keine NULL -Werte haben. Jeder Versuch, NULL in Primärschlüsselspalten einzufügen oder zu aktualisieren, führt zu einem Fehler. Beachten Sie, dass MySQL den Primärschlüsselspalten implizit eine NOT NULL -Einschränkung hinzufügt.
  • Eine Tabelle kann einen und nur einen Primärschlüssel haben.

Weil MySQL schneller arbeitet Bei Ganzzahlen sollte der Datentyp der Primärschlüsselspalte die Ganzzahl sein, z. B. INT, BIGINT. Und Sie sollten sicherstellen, dass Wertebereiche vom Typ Integer für den Primärschlüssel ausreichen, um alle möglichen Zeilen in der Tabelle zu speichern.

Eine Primärschlüsselspalte hat häufig die -Attribut, das automatisch eine sequentielle Ganzzahl generiert, wenn Sie eine neue Zeile in die Tabelle einfügen.

Wenn Sie einen Primärschlüssel für eine Tabelle definieren, erstellt MySQL automatisch einen Index mit dem Namen PRIMARY.

Beispiele für MySQL PRIMARY KEY

Mit der Einschränkung PRIMARY KEY können Sie einen Primärschlüssel einer Tabelle definieren Wenn Sie eine Tabelle erstellen oder ändern.

1) Definieren Sie eine PRIMARY KEY-Einschränkung in CREATE TABLE.

In der Regel definieren Sie den Primärschlüssel für eine Tabelle in -Anweisung.

Wenn der Primärschlüssel eine Spalte enthält, können Sie die Einschränkung PRIMARY KEY als Spalteneinschränkung verwenden:

Code language: SQL (Structured Query Language) (sql)

Wenn der Primärschlüssel mehr als eine Spalte enthält, müssen Sie th verwenden e PRIMARY KEY Einschränkung als Tabelleneinschränkung.

In dieser Syntax trennen Sie Spalten in column_list durch Kommas ( ,).

Die Tabelleneinschränkung PRIMARY KEY kann verwendet werden, wenn der Primärschlüssel eine Spalte enthält:

Im folgenden Beispiel wird eine Tabelle mit dem Namen erstellt users dessen Primärschlüssel die Spalte user_id ist:

Diese Anweisung erstellt die roles Tabelle mit der Einschränkung PRIMARY KEY als Tabelleneinschränkung:

Wenn der Primärschlüssel aus mehreren Spalten besteht, müssen Sie diese am Ende angeben der Anweisung CREATE TABLE. Sie setzen eine durch Kommas getrennte Liste von Primärschlüsselspalten in Klammern, gefolgt von den Schlüsselwörtern PRIMARY KEY.

Im folgenden Beispiel wird die user_roles Tabelle, deren Primärschlüssel aus zwei Spalten besteht: user_id und role_id. Es definiert die Einschränkung PRIMARY KEY als Tabelleneinschränkung:

Beachten Sie, dass die Anweisung auch zwei Fremdschlüsseleinschränkungen erstellt hat.

2) Definieren Sie PRIMARY KEY-Einschränkungen mit ALTER TABLE

Wenn eine Tabelle aus bestimmten Gründen keinen Primärschlüssel hat, können Sie mit der Anweisung ALTER TABLE einen Primärschlüssel hinzufügen Die Tabelle lautet wie folgt:

Code language: SQL (Structured Query Language) (sql)

Im folgenden Beispiel wird dem Primärschlüssel die Spalte id hinzugefügt.

Erstellen Sie zunächst die Tabelle pkdemos ohne Primärschlüssel.

Code language: SQL (Structured Query Language) (sql)

Fügen Sie anschließend eine Primärtabelle hinzu Schlüssel zur Tabelle pkdemos mit der Anweisung ALTER TABLE:

Code language: SQL (Structured Query Language) (sql)

Wenn Sie einer Tabelle, die bereits Daten enthält, einen Primärschlüssel hinzufügen. Die Daten in den Spalten, die im Primärschlüssel enthalten sein werden, müssen eindeutig und nicht NULL sein.

PRIMARY KEY vs. UNIQUE KEY vs. KEY

KEY ist das Synonym für INDEX. Sie verwenden die KEY, wenn Sie einen Index für eine Spalte oder einen Satz von Spalten erstellen möchten, der nicht Teil eines Primärschlüssels oder eines eindeutigen Schlüssels ist.

Ein UNIQUE -Index stellt sicher, dass die Werte in einer Spalte eindeutig sein müssen. Im Gegensatz zum Index PRIMARY lässt MySQL NULL -Werte im Index UNIQUE zu. Darüber hinaus kann eine Tabelle mehrere UNIQUE -Indizes haben.

Angenommen, email und username der Benutzer in der Tabelle users muss eindeutig sein.Um diese Regeln durchzusetzen, können Sie UNIQUE -Indizes für die Spalten email und username definieren als die folgende Anweisung:

Fügen Sie einen UNIQUE -Index für die Spalte username hinzu:

Code language: SQL (Structured Query Language) (sql)

Fügen Sie einen UNIQUE -Index für die Spalte email hinzu:

Code language: SQL (Structured Query Language) (sql)

In diesem Lernprogramm haben Sie gelernt, wie Sie einen Primärschlüssel für eine neue Tabelle erstellen oder einer vorhandenen Tabelle einen Primärschlüssel hinzufügen.

  • War dieses Tutorial hilfreich?
  • JaNein

Leave a Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.