Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was ist Kardinalität in MySQL?

王林
Freigeben: 2023-09-08 18:49:02
nach vorne
973 Leute haben es durchsucht

MySQL 中的基数是什么?

In MySQL bezieht sich der Begriff Kardinalität auf die Einzigartigkeit von Datenwerten, die in eine Spalte eingefügt werden können. Es handelt sich um ein Attribut, das die Fähigkeit zum Suchen, Clustern und Sortieren von Daten beeinflusst.

Die Basis kann wie folgt aus zwei Arten bestehen -

  • Geringe Kardinalität – Alle Werte der Spalte müssen gleich sein.

  • Hohe Kardinalität – Alle Werte der Spalte müssen eindeutig sein.

Das Konzept der hohen Kardinalität wird verwendet, wenn wir Spalten Einschränkungen auferlegen, um doppelte Werte zu begrenzen.

Hohe Kardinalität

Das Folgende ist ein Beispiel für eine hohe Kardinalität, bei der alle Werte einer Spalte eindeutig sein müssen.

mysql> create table UniqueDemo1
   -> (
   -> id int,
   -> name varchar(100),
   ->UNIQUE(id,name)
   -> );
Query OK, 0 rows affected (0.81 sec
Nach dem Login kopieren

Datensätze in die Tabelle einfügen.

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'
Nach dem Login kopieren

Wenn wir oben denselben Datensatz in die Tabelle einfügen, erhalten wir die Fehlermeldung.

Alle Datensätze anzeigen.

mysql> select *from UniqueDemo1;
Nach dem Login kopieren

Das Folgende ist die Ausgabe. Da bei doppelten Werten ein Fehler angezeigt wird, gibt es jetzt nur noch einen Datensatz in der Tabelle, den wir zuvor hinzugefügt haben.

+------+------+
| id   | name |
+------+------+
|    1 | John |
+------+------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Niedrige Basis

Beispiel mit niedriger Kardinalität.

Formulare erstellen.

mysql> create table LowCardinality
   -> (
   -> id int,
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.71 sec)
Nach dem Login kopieren

Fügen Sie Datensätze mit doppelten Werten ein.

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)
Nach dem Login kopieren

Alle Datensätze anzeigen.

mysql> select *from LowCardinality;
Nach dem Login kopieren

Die Ausgabe zeigt doppelte Werte, da wir beim Erstellen der Tabelle kein UNIQUE einbezogen haben.

+------+------+
| id   | name |
+------+------+
|    1 | John |
|    1 | John |
+------+------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist Kardinalität in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage