什么时候我应该使用键,主键,唯一键和索引?


当前回答

主键——我们只能在一个表中放入一个主键,当我们向表中输入值时,我们不能让该列为空。

唯一键——我们可以在一个表中放置多个唯一键,当我们向表中输入值时,我们可以将该列留空。 当我们应用主键和唯一键时,列取唯一值(不相同)。

其他回答

主键——我们只能在一个表中放入一个主键,当我们向表中输入值时,我们不能让该列为空。

唯一键——我们可以在一个表中放置多个唯一键,当我们向表中输入值时,我们可以将该列留空。 当我们应用主键和唯一键时,列取唯一值(不相同)。

主键用于处理不同的表。这是关系数据库的基础。如果你有一个图书数据库,最好创建2个表- 1)图书和2)作者,INT主键“id”。然后在books中使用id而不是作者的名字。

如果不希望有重复的条目,则使用唯一键。例如,您可能在图书表中有标题,并希望确保每个标题只有一个条目。

主键和唯一键很相似,只是功能不同。主键使表行唯一(即不能有两个具有完全相同键的行)。一个数据库表中只能有一个主键。

唯一键使表行中的表列是唯一的(即,没有两个表行可能具有完全相同的值)。您可以有多个唯一键表列(不像主键,这意味着表中只有一个表列是唯一的)。

INDEX还创建唯一性。MySQL(示例)将为被索引的列创建索引表。这样,在对索引表列查询查询时,更容易检索表行值。缺点是,如果你做很多更新/删除/创建,MySQL必须管理索引表(这可能是一个性能瓶颈)。

希望这能有所帮助。

唯一密钥:

可以有多个值为空。 任何两个元组在唯一键中都不能有相同的值。 一个或多个唯一键可以组合成一个主键,反之则不行。

主键

可以包含多个唯一键。 唯一表示一个元组。

主键不允许空值,但唯一键允许空值。

在一个表中只能声明一个主键,但是一个表可以有多个唯一键(列赋值)。