什麼是 MySQL 中的基數?
在 MySQL 中,“基數”一詞是指可放入列中的資料值的唯一性。這是一種影響搜尋、聚類和排序資料的屬性。
基數可以是以下兩種型別:
低基數 - 一列的所有值都必須相同。
高基數 - 一列的所有值都必須唯一。
如果我們對列施加約束以限制重複值,則使用高基數的概念。
高基數
以下是一個高基數的示例,其中一列的所有值都必須唯一。
mysql> create table UniqueDemo1 -> ( -> id int, -> name varchar(100), ->UNIQUE(id,name) -> ); Query OK, 0 rows affected (0.81 sec
向表中插入記錄。
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'
在上述示例中,當我們向表中插入相同記錄時遇到了錯誤。
顯示所有記錄。
mysql> select *from UniqueDemo1;
以下是輸出結果。由於對於重複值,它會顯示錯誤;因此,目前表中只有 1 條記錄,這是我們之前新增的。
+------+------+ | id | name | +------+------+ | 1 | John | +------+------+ 1 row in set (0.00 sec)
低基數
低基數的示例。
建立表。
mysql> create table LowCardinality -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.71 sec)
插入具有重複值的記錄。
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)
顯示所有記錄。
mysql> select *from LowCardinality;
由於我們在建立表格的時候沒有包含 UNIQUE,所以輸出顯示了重複值。
+------+------+ | id | name | +------+------+ | 1 | John | | 1 | John | +------+------+ 2 rows in set (0.00 sec)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP