找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 mysql教程 查看内容

MySQL 中的基数是什么?

作者:模板之家 2023-9-8 18:49 121人关注

在MySQL中,术语基数是指可以放入列中的数据值的唯一性。它是一种影响数据搜索、聚类和排序能力的属性。基数可以有两种类型,如下-低基数-列的所有值必须相同。高基数-列的所有值必须是唯一的。如果我们对列施加约束 ...

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)
登录后复制

路过

雷人

握手

鲜花

鸡蛋
原作者: 网络收集 来自: 网络收集

全部回复(0)