在 MySQL 中,術(shù)語基數(shù)是指可以放入列中的數(shù)據(jù)值的唯一性。它是一種影響數(shù)據(jù)搜索、聚類和排序能力的屬性。
基數(shù)可以有兩種類型,如下 –
低基數(shù) – 列的所有值必須相同。
高基數(shù) – 列的所有值必須是唯一的。
如果我們對(duì)列施加約束以限制重復(fù)值,則使用高基數(shù)的概念。
高基數(shù)
以下是高基數(shù)的示例,其中列的所有值都必須是唯一的。
mysql> create table UniqueDemo1 -> ( -> id int, -> name varchar(100), ->UNIQUE(id,name) -> ); Query OK, 0 rows affected (0.81 sec
登錄后復(fù)制
將記錄插入表中。
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'
登錄后復(fù)制
在上面,當(dāng)我們將相同的記錄插入表中時(shí),我們會(huì)收到錯(cuò)誤。
顯示所有記錄。
mysql> select *from UniqueDemo1;
登錄后復(fù)制
以下是輸出。因?yàn)椋瑢?duì)于重復(fù)值,它顯示錯(cuò)誤;因此,現(xiàn)在表中只有 1 條記錄,這是我們之前添加的。
+------+------+ | id | name | +------+------+ | 1 | John | +------+------+ 1 row in set (0.00 sec)
登錄后復(fù)制
低基數(shù)
低基數(shù)示例。
創(chuàng)建表格。
mysql> create table LowCardinality -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.71 sec)
登錄后復(fù)制
插入具有重復(fù)值的記錄。
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)
登錄后復(fù)制
顯示所有記錄。
mysql> select *from LowCardinality;
登錄后復(fù)制
輸出顯示重復(fù)值,因?yàn)槲覀冊(cè)趧?chuàng)建表時(shí)沒有包含 UNIQUE。
+------+------+ | id | name | +------+------+ | 1 | John | | 1 | John | +------+------+ 2 rows in set (0.00 sec)
登錄后復(fù)制
以上就是MySQL 中的基數(shù)是什么?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!