Maison > base de données > tutoriel mysql > Qu'est-ce que la cardinalité dans MySQL ?

Qu'est-ce que la cardinalité dans MySQL ?

王林
Libérer: 2023-09-08 18:49:02
avant
1027 Les gens l'ont consulté

MySQL 中的基数是什么?

Dans MySQL, le terme cardinalité fait référence au caractère unique des valeurs de données qui peuvent être placées dans une colonne. Il s'agit d'un attribut qui affecte la capacité de rechercher, de regrouper et de trier les données.

La base peut être de deux types, comme suit -

  • Faible cardinalité - Toutes les valeurs de la colonne doivent être les mêmes.

  • Cardinalité élevée - Toutes les valeurs de la colonne doivent être uniques.

La notion de cardinalité élevée est utilisée si l'on impose des contraintes sur les colonnes pour limiter les valeurs en double.

Haute cardinalité

Ce qui suit est un exemple de cardinalité élevée, où toutes les valeurs d'une colonne doivent être uniques.

mysql> create table UniqueDemo1
   -> (
   -> id int,
   -> name varchar(100),
   ->UNIQUE(id,name)
   -> );
Query OK, 0 rows affected (0.81 sec
Copier après la connexion

Insérez les enregistrements dans le tableau.

mysql> insert into UniqueDemo1 values(1,'John');
Query OK, 1 row affected (0.18 sec)

mysql> insert into UniqueDemo1 values(1,'John');
ERROR 1062 (23000): Duplicate entry '1-John' for key 'id'
Copier après la connexion

Ci-dessus, lorsque nous insérons le même enregistrement dans le tableau, nous obtenons l'erreur.

Afficher tous les enregistrements.

mysql> select *from UniqueDemo1;
Copier après la connexion

Ce qui suit est le résultat. Parce que, pour les valeurs en double, il affiche une erreur ; il n'y a donc désormais qu'un seul enregistrement dans le tableau, que nous avons ajouté plus tôt.

+------+------+
| id   | name |
+------+------+
|    1 | John |
+------+------+
1 row in set (0.00 sec)
Copier après la connexion

Base basse

Exemple de faible cardinalité.

Créez des formulaires.

mysql> create table LowCardinality
   -> (
   -> id int,
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.71 sec)
Copier après la connexion

Insérez des enregistrements avec des valeurs en double.

mysql> insert into LowCardinality values(1,'John');
Query OK, 1 row affected (0.19 sec)

mysql> insert into LowCardinality values(1,'John');
Query OK, 1 row affected (0.14 sec)
Copier après la connexion

Afficher tous les enregistrements.

mysql> select *from LowCardinality;
Copier après la connexion

La sortie affiche des valeurs en double car nous n'avons pas inclus UNIQUE lors de la création de la table.

+------+------+
| id   | name |
+------+------+
|    1 | John |
|    1 | John |
+------+------+
2 rows in set (0.00 sec)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal