MUL vs. PRI vs. UNI in MySQL

Mehvish Ashiq 15 Februar 2024
  1. Schlüssel in MySQL
  2. Fazit
MUL vs. PRI vs. UNI in MySQL

Dieses Tutorial wird die Schlüssel PRI, MUL und UNI in MySQL lehren.

Indem wir dieses Tutorial Schritt für Schritt durchgehen, werden wir den grundlegenden Unterschied zwischen den Tasten PRI, MUL und UNI sehen und wie man sie verwendet. Wir werden ihre Wirkung auch in der Tabelle anhand des Beispielcodes sehen.

Schlüssel in MySQL

Der Schlüssel ist ein Attribut oder manchmal eine Reihe von Attributen, die verwendet werden, um eine Zeile aus einer Tabelle eindeutig zu identifizieren.

Verschiedene Schlüssel werden in MySQL für verschiedene Zwecke verwendet, einschließlich Primärschlüssel, eindeutiger Schlüssel, zusammengesetzter Schlüssel, Fremdschlüssel, Superschlüssel, alternativer Schlüssel und Kandidatenschlüssel.

Wir konzentrieren uns in diesem Artikel auf Primary, Unique und Multiple Key.

PRI, UNI und MUL Schlüssel in MySQL

Das PRI bedeutet Primär Schlüssel, erzwingt die Eindeutigkeit eines Datensatzes in der Tabelle. Er erlaubt keine NULL-Werte.

Als Primärschlüssel können eine oder mehrere Spalten verwendet werden. Der UNI-Schlüssel stellt einen eindeutigen Schlüssel dar, erzwingt die Eindeutigkeit einer Zeile (eines Datensatzes) in der Tabelle (Relation) wie der Primärschlüssel und hat NULL-Werte.

Eine oder mehrere Spalten können verwendet werden, um einen eindeutigen Schlüssel zu erstellen.

Der MUL-Schlüssel ist keiner von ihnen, was bedeutet, dass der MUL-Schlüssel ein Index ist, der weder der Primärschlüssel noch der eindeutige Schlüssel ist. Es erlaubt NULL-Werte und das mehrfache Vorkommen desselben Werts, da sein Name MUL von mehreren stammt.

Wenn Sie mehrere Schlüssel auf dieselbe Spalte angewendet haben, werden die Schlüssel entsprechend ihrer Priorität PRI, UNI und MUL angezeigt.

Lassen Sie uns mit Hilfe des folgenden Beispielcodes verstehen.

#create an employee table
CREATE TABLE employee(
    ID INT PRIMARY KEY NOT NULL, #this is PRI Key
    FIRST_NAME VARCHAR(60) NOT NULL, 
    LAST_NAME VARCHAR(60) NOT NULL,
    GENDER VARCHAR(60) NOT NULL, INDEX(GENDER), #this is MUL Key
    COUNTRY_CODE VARCHAR(30), INDEX(COUNTRY_CODE), #this is MUL Key
    CITIZEN_ID INT UNIQUE KEY #this is UNI Key
);

#insert some data
INSERT INTO employee(ID, FIRST_NAME, LAST_NAME,GENDER, COUNTRY_CODE,CITIZEN_ID)
VALUES
(1,'Thomas', 'Christopher','Male','+61',485),
(2,'Lisa', 'Mark', 'Female','+59',408),
(3,'Anthony', 'Richard', 'Male','+61',215),
(4,'Matthew', 'Charles', 'Male',NULL, 610),
(5,'Kiren', 'Donald','Female','+31', null);

#use the following query to describe table columns and their properties
desc employee;

Ausgabe:

mul vs pri vs uni in mysql - tabelle

Sehen Sie sich den obigen Beispielcode an und beobachten Sie die Ausgabe, um dies zu verstehen. Es ist wichtig zu beachten, dass wir nur einen PRI-Schlüssel innerhalb der Tabelle haben können, aber es kann mehr als einen UNI- und MUL-Schlüssel geben.

In der obigen Ausgabe haben wir einen PRI-Schlüssel auf die Spalte ID angewendet, der keine NULL-Werte zulässt. Das heißt, wenn einem Mitarbeiter eine ID zugewiesen wird, wird dieselbe ID keinem anderen innerhalb der Tabelle zugewiesen.

Wir haben einen UNI-Schlüssel, der auf die Spalte CITIZEN_ID angewendet wird; es erzwingt die Eindeutigkeit und erlaubt die NULL-Werte. Wir können zwei MUL-Schlüssel in zwei verschiedenen Spalten namens GENDER und COUNTRY_CODE sehen.

Es ist notwendig zu bedenken, dass die Taste MUL in beiden Spalten gut funktioniert, in denen die Spalte GENDER keine NULL-Werte haben darf, aber COUNTRY_CODE. Deshalb sagen wir, MUL ist weder der PRI- noch der UNI-Schlüssel.

Fazit

In der obigen Diskussion sind wir zu dem Schluss gekommen, dass Schlüssel die Attribute sind, die auf Spalten angewendet werden, um sie innerhalb der Tabelle eindeutig zu identifizieren.

Für unterschiedliche Anforderungen werden unterschiedliche Schlüssel verwendet. PRI ist für die Situation, in der Sie keine Werte innerhalb der Spalte wiederholen möchten und keine NULL-Werte zulassen.

Der UNI-Schlüssel konzentriert sich auf die Eindeutigkeit innerhalb der Spalte, lässt aber NULL-Werte zu. MUL ist weder PRI noch UNI und kann NULL- und NOT NULL-Werte annehmen.

Es kann nur einen PRI-Schlüssel geben, aber Sie können je nach Projektanforderungen mehrere UNI- und MUL-Schlüssel haben.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook