MUL vs PRI vs UNI dans MySQL
Ce tutoriel vous apprendra les clés PRI
, MUL
et UNI
dans MySQL.
En parcourant étape par étape dans ce tutoriel, nous verrons la différence fondamentale entre les clés PRI
, MUL
et UNI
et comment utiliser chacune d’elles. Nous verrons également leur effet dans le tableau en utilisant l’exemple de code.
Clés dans MySQL
La clé est un attribut ou parfois un ensemble d’attributs utilisés pour identifier de manière unique une ligne d’une table.
Diverses clés sont utilisées dans MySQL à diverses fins, notamment la clé primaire, la clé unique, la clé composite, la clé étrangère, la super clé, la clé alternative et la clé candidate.
Nous nous concentrerons sur la clé primaire, unique et multiple pour cet article.
Clés PRI
, UNI
et MUL
dans MySQL
Le PRI
signifie clé primaire, force sur l’unicité d’un enregistrement dans la table. Il n’autorise pas les valeurs NULL
.
Une ou plusieurs colonnes peuvent être utilisées comme clé primaire. La clé UNI
représente la clé unique, renforce l’unicité d’une ligne (un enregistrement) dans la table (relation) comme la clé primaire et a des valeurs NULL
.
Une ou plusieurs colonnes peuvent être utilisées pour créer une clé unique.
La clé MUL
n’en est aucune, ce qui signifie que la clé MUL
est un index qui n’est ni la clé primaire ni la clé unique. Il autorise les valeurs NULL
, et les multiples occurrences de la même valeur que son nom MUL
proviennent de multiples.
Si vous avez plusieurs clés appliquées sur la même colonne, les clés seront affichées selon leur priorité, PRI
, UNI
et MUL
.
Comprenons à l’aide de l’exemple de code suivant.
#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;
Production :
Consultez l’exemple de code ci-dessus et observez la sortie pour comprendre. Il est important de noter que nous ne pouvons avoir qu’une seule clé PRI
dans le tableau, mais il peut y avoir plus d’une clé UNI
et MUL
.
Dans la sortie ci-dessus, nous avons une clé PRI
appliquée sur la colonne ID
, qui n’autorise pas les valeurs NULL
. Cela signifie que si un ID
est attribué à un employé, ce même ID
ne sera attribué à aucun autre dans le tableau.
Nous avons une clé UNI
appliquée sur la colonne CITIZEN_ID
; il renforce l’unicité et autorise les valeurs NULL
. On peut voir deux clés MUL
sur deux colonnes différentes nommées GENDER
et COUNTRY_CODE
.
Il faut penser que la clé MUL
fonctionne bien sur les deux colonnes où la colonne GENDER
ne peut pas avoir de valeurs NULL
, mais COUNTRY_CODE
peut. C’est pourquoi nous disons que MUL
n’est ni la clé PRI
ni la clé UNI
.
Conclusion
Dans la discussion ci-dessus, nous avons conclu que les clés sont les attributs appliqués aux colonnes pour les identifier de manière unique dans le tableau.
Différentes clés sont utilisées pour différentes exigences. La clé PRI
est destinée aux situations où vous ne voulez pas répéter les valeurs dans la colonne et n’autorisez pas les valeurs NULL
.
La clé UNI
se concentre sur l’unicité dans la colonne mais autorise les valeurs NULL
. MUL
n’est ni PRI
ni UNI
et peut accepter les valeurs NULL
et NOT NULL
.
Il ne peut y avoir qu’une seule clé PRI
, mais vous pouvez avoir plusieurs clés UNI
et MUL
selon les exigences du projet.