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

Apakah kardinaliti dalam MySQL?

王林
Lepaskan: 2023-09-08 18:49:02
ke hadapan
1006 orang telah melayarinya

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
Salin selepas log masuk

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'
Salin selepas log masuk

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

Tunjukkan semua rekod.

mysql> select *from UniqueDemo1;
Salin selepas log masuk

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)
Salin selepas log masuk

Asas rendah

Contoh kardinaliti rendah.

Buat borang.

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

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)
Salin selepas log masuk

Tunjukkan semua rekod.

mysql> select *from LowCardinality;
Salin selepas log masuk

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)
Salin selepas log masuk

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

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan