Rumah >pangkalan data >tutorial mysql >Apakah kardinaliti dalam MySQL?

Apakah kardinaliti dalam MySQL?

王林
王林ke hadapan
2023-09-08 18:49:021013semak imbas

MySQL 中的基数是什么?

Dalam MySQL, istilah kardinaliti merujuk kepada keunikan nilai data yang boleh diletakkan ke dalam lajur. Ia adalah atribut yang mempengaruhi keupayaan untuk mencari, mengelompok dan mengisih data.

Asas boleh terdiri daripada dua jenis, seperti berikut -

  • Kardinaliti rendah - Semua nilai lajur mestilah sama.

  • Kardinaliti tinggi - Semua nilai lajur mestilah unik.

Konsep kardinaliti tinggi digunakan jika kita mengenakan kekangan pada lajur untuk mengehadkan nilai pendua.

Kardinaliti tinggi

Berikut ialah contoh kardinaliti tinggi, di mana semua nilai lajur mestilah unik.

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

Masukkan rekod ke dalam jadual.

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'

Dalam perkara di atas, apabila kita memasukkan rekod yang sama ke dalam jadual, kita mendapat ralat.

Tunjukkan semua rekod.

mysql> select *from UniqueDemo1;

Berikut ialah output. Kerana, untuk nilai pendua, ia menunjukkan ralat, oleh itu, kini hanya terdapat 1 rekod dalam jadual, yang kami tambahkan sebelum ini.

+------+------+
| id   | name |
+------+------+
|    1 | John |
+------+------+
1 row in set (0.00 sec)

Asas rendah

Contoh kardinaliti rendah.

Buat borang.

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

Sisipkan rekod dengan nilai pendua.

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)

Tunjukkan semua rekod.

mysql> select *from LowCardinality;

Output menunjukkan nilai pendua kerana kami tidak memasukkan UNIK semasa membuat jadual.

+------+------+
| id   | name |
+------+------+
|    1 | John |
|    1 | John |
+------+------+
2 rows in set (0.00 sec)

Atas ialah kandungan terperinci Apakah kardinaliti dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam